虚拟机发包,主机wireshark会有2份数据,为什么
时间: 2023-09-26 10:06:26 浏览: 300
### 回答1:
这是因为虚拟机使用了虚拟网络适配器和虚拟交换机与主机进行通信。当虚拟机发出网络数据包时,它会通过虚拟网络适配器和虚拟交换机发送到主机的物理网络适配器。主机上的Wireshark会在接收到物理网络适配器发送的数据包时进行抓包。这样,主机上就可以看到两份数据,一份是来自虚拟网络适配器的数据包,另一份是来自物理网络适配器的数据包。
### 回答2:
虚拟机发包时,主机上的Wireshark会捕获到两份数据的原因主要有两个方面。
首先,虚拟机网络通信是通过虚拟网络设备实现的。虚拟机的网络通信流量首先通过虚拟网络接口,然后再通过虚拟网络设备传送到物理网络接口,最后才到达主机的网络适配器。因此,Wireshark在主机上捕获的第一份数据是来自虚拟网络接口的。这些数据经过虚拟网络设备的处理后,会添加或修改一些额外的信息,例如源和目的MAC地址、源和目的IP地址等,从而使得虚拟机的通信在主机上捕获时具有与真实网络数据流量有所区别。
其次,虚拟机通常使用网络设备桥接模式或者网络地址转换(NAT)模式与主机进行通信。在网络设备桥接模式下,虚拟机与主机共享同一网络接口,虚拟机发出的数据包会直接通过物理网络适配器发送出去,因此主机上的Wireshark捕获的第二份数据与虚拟机的通信数据是一致的。而在NAT模式下,虚拟机的数据包会经过一定的转换处理后再发送到主机,这样主机上的Wireshark就会捕获到经过NAT转换后的数据。
综上所述,虚拟机发包时主机上的Wireshark会捕获到两份数据,这是因为虚拟机通过虚拟网络接口发出的数据包首先会经过虚拟网络设备的处理,添加或修改一些额外信息,然后才通过物理网络适配器发送出去;此外,虚拟机与主机的网络通信模式也会影响主机上Wireshark捕获到的数据。
阅读全文