web-dev-qa-db-ja.com

仮想マシンからvirsh仮想ブリッジをスニッフィングする方法

そのため、仮想マシンからの仮想ブリッジ(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を実行しています。

ありがとう!!!!

1
ignasivt

したがって、brインターフェイスはLinuxカーネルによって管理され、スイッチとして構成されているため、特定のインターフェイスに送信されるパケットのみがその仮想インターフェイスに到達するようです。その動作を変更する方法は、「brctlsetageing0」を実行することです。

0
ignasivt

Biwsaのコメントで示唆されているように、「tethereal/Wireshark」を試しましたか?

ブリッジインターフェイスはメインインターフェイスと同じカーネルスペースにあるため、virbr2インターフェイスをスニッフィングすることができます。

0
Yuliyan T.