複数のインターフェイスでのTcpdump


17

2つのWANインターフェイスと1つのLANを備えたWebプロキシとして機能するCentOS 5サーバーでトラフィックをキャプチャする必要があります。奇妙なプロキシの問題をトラブルシューティングするために、完全な会話をキャプチャしたいと思います。外部接続は2つのWANインターフェース間でバランスがとられているため、すべてのインターフェースで同時にキャプチャすることは可能かと思います。

以前にtcpdumpを使用しましたが、一度に1つのインターフェイスしか許可しません。3つの並列プロセスを起動してすべてのインターフェイスでキャプチャできますが、3つの異なるキャプチャファイルになります。

これを行う正しい方法は何ですか?


AdamRushadは正しいです。あなたも使用wiresharkできます。
ライアンバチシン

回答:


25

tcpdumpのmanページによると:

2.2以降のカーネルを搭載したLinuxシステムでは、「any」のインターフェイス引数を使用して、すべてのインターフェイスからパケットをキャプチャできます。「任意の」デバイスでのキャプチャは、混合モードでは行われないことに注意してください。

したがってtcpdump -i any、次のコマンドを実行できる必要があります。すべてのインターフェイスのデータを同時にキャプチャして、単一のキャプチャファイルにします。


2
私はいくつかをキャプチャする場合のインターフェイスのすべてではないが、仕事をしないこと
Thayneの

9

これにアプローチする方法は、各インターフェイスで個別のファイルにダンプしてから、それらをマージすることです。anyインターフェイスには、キャプチャを汚染する可能性のあるloトラフィックも含まれます。

これにより、複雑なフィルタリングを行うことなく、インターフェイスごとのパケットストリームを分析することもできます。

3つの端末でキャプチャするか、コマンドを&でバックグラウンド化して

フラグ-nnは、速度のためにdns解決をオフにし、-s 0はパケット全体を保存し、-wはファイルに書き込みます。

tcpdump -i wan0 -nn -s 0 -w wan0.dump
tcpdump -i wan1 -nn -s 0 -w wan1.dump
tcpdump -i lan0 -nn -s 0 -w lan0.dump

次に、wiresharkのmergecapコマンドでファイルをマージします。

mergecap -w merged.dump wan0.dump wan1.dump lan0.dump

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.