OK、ここで右方向を指すようにヒントがあります。
挑戦されました: "のICMPv6マルチキャストリスナーのパケットをキャプチャするtcpdumpを/ windumpフィルタを作成する。"
右、簡単に聞こえますか?
Googleからの少し助けを使用すると、マルチキャスト·リスナーの "タイプ" 130で、ICMPv6タイプフィールドは、ヘッダーの最初のバイトであることを見つけることができます。 ので、これは同じくらい簡単でなければなりません。
tcpdumpの-NN-P-V-S 0 ICMP6 [0] = 130
あなたがコマンドを実行した場合ただし、あなたが戻って得られます。
tcpdumpを:IPv6の上位層プロトコルは、プロト[X]でサポートされていません
言い換えれば、すべてのICMPv6パケットを表示する "ICMP6"を使用することができますが、ICMPv6ヘッダーフィールドのいずれかでフィルタリングするのにそれを使用することはできません。
だから我々は "プランB"が必要です。 プランBを把握、あなたはチャレンジを解決しました。 ![]()
関連記事:


実用的な解決策は、もちろんです。
tcpdumpの-L-Iの任意ICMP6 |はgrep-E '\ B160 \ b'は
または似ています。
PCAPベースのソリューションでは、IPv6拡張ヘッダをサポートするかしないかどうかに依存しています。 してから、もう一度あなたがそれをサポートする場合、それは(これらのヘッダを追いかけてのBPFの例については、tcpdumpの-D IP6 protochain 58を見て!)より悪なって起動しますが、、そうでない場合は、単にIPヘッダからのオフセットを使用することができますICMP6は本当にそのいずれかをサポートしていないようです。 あなた自身のBPFを書く伴わない解決策があり、プロトコルチェーンを追いかけてサポートしていますか?
/ * Steinar * /
grepは最も簡単な実装であることに合意した。 ただpcapファイルを保存することが難しくなります。
RFC 2710を引用する: "このドキュメントで説明されているすべてのMLDメッセージはリンクローカルIPv6ソースアドレスは、1のIPv6ホップ限界、およびIPv6ルータ警告オプション[RTR-ALERT]のホップバイホップオプションで送信されますヘッダ。 "
だから、に対処するための拡張ヘッダーを持っています。 ヘッダを追跡することについては、今のところ私はホップバイホップヘッダを持つマルチキャストリスナーパケットを見てきました。 私は2710で何も見えませんが、追加のヘッダーの使用を禁止する。
一つは、IPsecのオプションを想像することもできますが、MLDのビット不明瞭な音...
私はあなたがRTR-alertオプションだけがあることを仮定すれば、それは固定長のものだとあなただけのオフセットを使用しなかったと思います。 あなたが実際にテキストpcapのフィルタで繰り返しまたは間接を行うことができますかどうかはわかりません。
/ * Steinar * /
こんにちは、この関数は、上位レイヤはサポートされていません。
私は次のヘッダが含まれる場合、これは動作しているか分かりません。
だから、でICMP6 packtesをフィルタリングしたい場合は、型であり、あなたは、IPv6ヘッダーには、単にIP6 [21]&130!= 0を行うことが20バイトであることを知っています。 IPv6ヘッダーの後の最初のバイトを意味し、ICMPv6ヘッダがあるはず