そのため、仮想マシンからの仮想ブリッジ(virbr2)からのトラフィックをスニッフィングしたいと思います。ホストマシンから直接virbr2を正常にスニッフィングできますが、そのインターフェイスを仮想マシンに設定すると、何も表示されません。これは、仮想マシンのネットワーク構成です(virsh edit):
<interface type='bridge'>
<mac address='52:54:00:78:11:bf'/>
<source bridge='virbr2'/>
<model type='rtl8139/>
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
それから私は何も得られません、そして私はタップインターフェースを作成しようとしました:
ip tuntap add tap20 mode tap
ip link set tap20 master virbr2
ip link set tap20 up
次のように解決されます。
<interface type='bridge'>
<mac address='52:54:00:78:11:bf'/>
<source bridge='tap20'/>
<model type='e1000'/>
<alias name='net1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
そして、私は放送トラフィックしか見ることができません...
どちらが正しいアプローチであり、なぜそれが機能しないのですか?
私はルートとしてDebian9とvirshを実行しています。
ありがとう!!!!
したがって、brインターフェイスはLinuxカーネルによって管理され、スイッチとして構成されているため、特定のインターフェイスに送信されるパケットのみがその仮想インターフェイスに到達するようです。その動作を変更する方法は、「brctlsetageing0」を実行することです。
Biwsaのコメントで示唆されているように、「tethereal/Wireshark」を試しましたか?
ブリッジインターフェイスはメインインターフェイスと同じカーネルスペースにあるため、virbr2インターフェイスをスニッフィングすることができます。