web-dev-qa-db-ja.com

発信ネットワークトラフィックの監視

私が使用している1台のサーバーのグラフは、数日前に開始された7.5 kb/sの発信ネットワークトラフィックの一貫性を示しています。

このトラフィックを監視/ログ/キャプチャ/分析して、それが何であるか、どこから来てどこに行くのかを確認するにはどうすればよいですか?

サーバーは、Linux Debian Lennyを実行するLinode(linode.comでホスト)です。

Linux用のコマンドラインhttpスニファーはありますか?

6
epeleg

tsharkをご覧ください。

それはwiresharkに似ていますが、コマンドライン用です。 apt-getでインストールしてください。

使い方のチュートリアルは here にあります。これを使用すると、httpを簡単にフィルタリングできます。

Httpトラフィックをキャプチャするには:

tshark -R "tcp.port == 80" -r /tmp/capture.cap

ポート80がhttpポートの場合。ポートがわからない場合は、すべてをキャプチャするだけで、後でhttp用にフィルタリングできます。キャプチャ中のhttpのフィルタリングはできません。

7
Lucas Kauffman

justniffer を使用できます。これは、Apacheログ形式でネットワークトラフィックを記録するクールなhttpスニファーです。

したがって、 awstats または Piwik などの任意のWebログアナライザーでログを後処理できます。

3
Diodore

スニファー

コマンドラインスニファの場合は、 tcpdump を実行します。これは、サーバー自体または同じネットワークセグメント内の別のコンピューターから実行できます。

パケットをキャプチャします。 Ctrl-Cでキャプチャを停止します(ある時点でキャプチャを停止することを忘れないでください...):

tcpdump -w test.pcap -i eth0

次に、ファイルを読み取ります。

tcpdump -r test.pcap

Wireshark は、素晴らしいGUIとより多くの分析ツールを提供しますが、tcpdumpのように機能します。

データを送信するプログラム

また、netstatまたはlsofを実行して、サーバーがアクティブに接続しているもの、および接続を開始したローカルプロセスを確認することもできます。

それらを開いたプログラム名を含むすべてのTCPポート:

netstat -pat

開いているすべてのインターネットポートを一覧表示します。

lsof -i

3
schroeder

Bro 非標準ポート上のトラフィックを検出します。他のツールとは異なり、ネットワークのアドレス空間を指定すると、受信トラフィックと送信トラフィックの概念が含まれます。

bro -r trace.pcap local "Site::local_nets += { 1.2.3.0/24, 5.6.7.0/24 }"

開始方法の詳細については クイックスタートガイド を参照してください。デフォルトの引数でBroを実行する、つまり、

bro -i <interface>

現在のディレクトリにすでにさまざまなログファイルを作成します。接続ログ(conn.log)、たとえば次の行に沿ったエントリが含まれています。

# ts          uid          orig_h        orig_p  resp_h         resp_p
1311627961.8  HSH4uV8KVJg  192.168.1.100 52303   192.150.187.43 80

これらは、使用可能な列のサブセットにすぎません。ログファイルは、awkや友達と簡単に処理できるように設計されています。たとえば、サービスごとの接続の内訳を確認するには:

bro-cut service < conn.log | sort | uniq -c

これやその他の迅速な分析により、ネットワークで何が起こっているのかがすぐにわかります。

3
mavam

別のオプションはiptrafツールです-それは素晴らしいです。すばやく簡単。

%sudo iptraf

enter image description here

3
Tate Hansen

Dsniffパッケージには多くのツールがあります( http://www.monkey.org/~dugsong/dsniff/ )urlsnarfなどを参照してください。

0
Misc