因此,我想从虚拟机嗅探虚拟网桥 (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>
我只能看到广播流量......
哪种方法是正确的以及为什么它不起作用?
我正在以 root 身份运行 Debian 9 和 virsh。
谢谢!!!!
答案1
您是否尝试过 Biwsa 在评论中建议的“tethereal/Wireshark”?
由于桥接接口与主接口位于同一内核空间,因此可以嗅探病毒2界面。
答案2
因此,br 接口显然由 linux 内核管理,并配置为交换机,因此只有发往给定接口的数据包才会到达该虚拟接口。要更改该行为,一种方法是运行“brctl setageing 0”。