2006年4月10日

[linux-users:106440] tcpdumpでfilterすると動作がおかしい

出沢@神奈川です

tcpdumpでパケットfilterをかけると、期待した動作をしなくなります。
どこか間違えているでしょうか。

二つのNICの IPアドレス/リスン・コントールの役割を入れ換えても同じ動作です。

環境

On BoadのNIC の他に 3comのNICを挿しています。
On Boad NICが eth1 追加NICが eth0 に認識されています。
eth0 を リスン専用として、リスン専用ミラーportに挿し、
eth1を通常のNICとして設定しています。(192.168.1.1 としておきます)
eth0,eth1を入れ換たテストをしてますが、結果は同じでした。
RH9 と FedraCore4 で同じ動作です。
このマシンには対人間のIOを付けてないので、sshで他のマシンから
入ってテストしています。

症状
リスン専用NICからキャプチャーする場合
1)tcpdump -n -i eth0
とすると多量のパケットを拾います。
自分宛のパケット、port80ヘのパケット、ブロードキャスト、その他もろもろ

2)tcpdump -n -i eth0 dst port 80
とするとパケットを拾いません。
このとき eth1 経由で wget http://www.example.com しても拾いません

3)tcpdump -n -i eth0 not host 192.168.1.1 (このマシンのIP)
とすると、192.168.1.1経由のsshパケットを拾います!!

4) tcpdump -n -i eth0 host 192.168.1.1 (このマシンのIP)
とすると、何もパケットを拾いません。ここあてのsshも。

通常利用のNICからキャプチャーする場合

11)tcpdump -n -i eth1
とすると自分宛のパケット、ブロードキャストが拾われます

12)tcpdump -n -i eth1 dst port 80
とし、wget http://www.example.com すると拾います

13)tcpdump -n -i eth1 not host 192.168.1.1 (このマシンのIP)
とすると、ブロードキャストを拾います

14)tcpdump -n -i eth1 host 192.168.1.1 (このマシンのIP)
とすると、192.168.1.1 だけ拾います。


通常のNICからキャプチャーする場合の結果は納得できます。
リスン用NICからのキャプチャーする場合の結果が不思議です。

NICの問題か?と 役割を入れ換えて見たのですが、結果は同じでした。
# 役割の入れ換え:
eth0 を 192.168.1.1とし、通常portに挿し、
eth1 を ミラーポートに挿し、
上記症状の1)-14)の eth1,eth0 をeth0,eth1に変えて実行

ミラーポートに挿す方のNICは
ifconfig eth0 up
だけでおこなった場合と、IPアドレスを与えた場合と試しましたが
同じ結果でした。

リスン専用というのは、スイッチの設定でおこなっている(らしい)です。
ツイストペアやNIC設定でおこなっては居ません。

宣しくおねがいします。


投稿者 xml-rpc : 2006年4月10日 16:27
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/34631
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。