web-dev-qa-db-ja.com

パケットキャプチャ:RXとTXのフィルタリング

ホストのソースMACの1つと一致するソースMACを持つフレームがホストに到達するというネットワークの問題があります-明らかな重複するMAC、ループ、またはその他のL2問題。

LinuxブリッジのMACテーブル(CAMテーブル)がローカルMAC(ホストされている仮想マシンの場合)をアップストリームポートにあるものとして登録し、カーネルログにエラーが表示されるため、これは状況であると私は信じています。

bridgename: received packet on bond0.2222 with own address as source address

これらの「不正な」パケット/フレームの詳細を入手したいのですが、それらをゼロにする方法がわかりません。 tcpdumpを使用すると、特定のソースMAC(「ether src MAC」)でフィルタリングできますが、これはフレームが「送信」されたか「受信」されたかではなく、フレームのバイトに基づいています。通常、送信元MACを持つフレームは送信することを意味しますが、重複するフレームを受信した場合、コンテンツはフィルターとまったく同じに見えます。

パケットキャプチャでフレームが受信されたか送信されたかをどのように確認できますか?

8
Joshua Miller

使用する --direction tcpdumpのオプション:

-Q direction
--direction=direction
       Choose send/receive direction direction for which packets should be
       captured. Possible values are `in', `out' and `inout'. Not available on
       all platforms.
6
abacabadabacaba

Iptablesでは、着信パケットと発信パケットに異なる「チェーン」があります。 iptables(8)のmanページから:

... the chains INPUT and OUTPUT are only traversed for packets coming into 
the local Host and originating from the local Host  respectively.   Hence 
every  packet  only  passes  through one of the three chains (except 
loopback traffic, which involves both INPUT and OUTPUT chains) ...

iptablesはいくつかのロギング(-l)を実行できます。これにより、必要なものが表示される場合があります。また、パケットのコピーを他のツールでロギングするためにインターフェースに転送することもできると思われますが、それを行う理由はありませんでした。

0
mc0e