2011-09-16 9 views
0

私は2つのホストAとBを持っているとします。どちらもポート80でWebサーバーを持っています。両方のサーバーは、Webサーバーを介してファイルをダウンロードします。 A:some_port < - > b:80そして同時にA:80 < - > B:some_port。tcpdumpステートフルフィルタリング

クライアントがホストAまたはBのすべてのパケットをキャプチャするためにtcpdumpを実行するにはどうすればよいですか。私は、両方の接続からのパケットを含むダンプファイルが混在することを望んでいません。

私が使用している場合:

tcpdump -i eth0 host A and port 80 

私はAとBの間のすべてのパケットを受信して​​、私は

tcpdump -i eth0 src host A and src port 80 

に変更した場合、私はちょうど間違って半分にパケットを受け取りました。

ご意見はありますか?

+0

たとえば、HTTPクライアントとしてAを持つすべてのパケット(AからB、BからAの両方)はキャプチャしたいが、BをHTTPクライアントとして持つパケットはキャプチャしない* Bはクライアントとして、サーバーとしては使用できません)。 –

答えて

0

私はそれを行う方法を見つけることができませんでした。しかし、私がやったことは、私はそれが答えではない知っている...

tcpdump -i eth0 -nn portrange $dumpPortListenRange1 
tcpdump -i eth0 -nn portrange $dumpPortListenRange2 

を異なる接続用の異なるソースポート範囲を使用して、私のtcpdumpのフィルタでそれらを使用することでしたが、それはそれを動作させるために微調整..です

関連する問題