web-dev-qa-db-ja.com

サーバーが実際に何をしているのか、どうすればわかりますか?

私は3つのLinuxボックスを受け取りました。1つは前面がApacheで、もう1つはもう2つですが、私の知る限りでは、それほどひどいことはしません。すべてRedhatで実行されています。

質問は簡単です。サーバーが実際に何をしているのか、どうすればわかりますか?ゼロのドキュメントは作成者から入手できます。

42
Bizmark

イーサネットケーブルを外し、問題が発生する人を確認します。

真剣に、しかし、このようなミステリーマシンは、チームに多くの精神的なオーバーヘッドをもたらし、多くの場合、ビジネス価値をまったく提供しません。上司に相談してください。もしそれが何をするのか誰も知らなければ、誰もそれを何も気にしません。

42
Josh Rumbut

これは、Serverfaultフォーマットに関してかなり広い質問ですが、良いスタートです:

  • 実行中のプロセスと、システムの起動時に実行するようにスケジュールされているプロセスを確認します。
    • それぞれの実行構成を確認します。
    • 定義されたデータディレクトリを調べます。 (たぶん誰かがMySQLをインストールしてオンにしたのですが、データベースがありません。)
  • スケジュールされたタスクを確認します。
  • ログを確認してください;
    • 最近ログインしたユーザー(およびユーザーに質問)
    • 何が実行されているかを知るために。

バージョンについては言及しなかったので、詳細は省略しました。

30
Aaron Copley

システムで何が実行されているかを確認するためにできることはいくつかあります。

サーバーがどのポートをリッスンしているかを確認して、そこに何があるかを知ることができます。使用するのに適したコマンドは次のとおりです。

 [root@server ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             Stat    e       PID/Program name
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LIST    EN      1880/smbd
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LIST    EN      1911/nrpe
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LIST    EN      1759/sshd

上記の出力例からわかるように、プロトコルのバージョン(tcpまたはudp)、リッスンされているアドレス、開いているポート、リッスンしているプログラムが表示されます。

上記の切り捨てられた例(サーバーマシン)では、tcpポート139、5666、および22がリッスンしていることがわかります。これらはそれぞれsamba、nrpe(Nagiosエージェント)、sshに解決され、そのポートで待機しているプログラムを確認すると確認されます。

さらに、起動時に起動するように構成されているデーモンのリストを確認できます。これを行うには、次のコマンドを実行します:chkconfig --list | grep "3:on"

例:

[root@server ~]# chkconfig --list | grep "3:on"
NetworkManager  0:off   1:off   2:on    3:on    4:on    5:on    6:off
acpid           0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
sysstat         0:off   1:on    2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off
webmin          0:off   1:off   2:on    3:on    4:off   5:on    6:off
x2gocleansessions       0:off   1:off   2:on    3:on    4:on    5:on    6:off
.
.
.

または:

service --status-all

19
Itai Ganot

別の方法には、/etcディレクトリに移動し、変更日を確認します。新規インストール後、このディレクトリ内のすべてのファイルはほぼ同じ日付/時刻になるはずです。また、インストールでは通常、ユーザーが通常使用しない多くのものがインストールされるため、変更日が後のファイルのみがサーバーの実際の目的を反映していますです。これがext4の場合は、ディレクトリの生年月日も抽出できるため、タスクは非常に簡単です。

さらに別の方法では、.bash_historyファイルを使用して、管理者の状況を確認します。このファイルは、豊富な知識を提供できます。

18
Konrad Gajewski

ファイアウォールルールを確認します。少し運が良ければ、それはdefault-denyに設定されています。つまり、許可されるサービスごとに明示的なルールがあるということです。

これはnetstatよりも優れています。夜間バックアップなどのために開いているポートも表示できるためです。

7
MSalters

私がまだ見たことのない答えの1つは、最近変更されたファイルを確認することです。ログ、データベースファイル、その他の出力ファイルなどは、手掛かりとなる可能性がある静止画に書き込まれる可能性があります。

find . -mtime -3 

これにより、現在のディレクトリ以降で、過去3日間に変更された変更されたファイルが見つかります。調査できる出力が得られるまで、数値3を適切な推測に増やします。

ボックスは一部のWebサービス呼び出しを処理するだけで、何も書き込まずに一部のデータを返す可能性があるため、確実ではありません。しかし、上記の素晴らしいミックスに加えて、それはいくつかの手掛かりを生み出すだけかもしれません。

6
JayMcTee