我在 OSX 中的 VM 中运行 Windows。如果我在 Windows 中启动 Wireshark,OSX 会弹出一条消息,提示 Wireshark 正在尝试监控所有网络流量。如果我接受,Wireshark 就会开始显示各种网络活动。这不可能是来自 Windows,因为我没有在其中执行任何操作,但我在 OSX 中运行通过互联网进行通信的东西。
Wireshark 能够从 OSX 看到网络活动吗?如果它在虚拟机内部,它如何做到这一点?
答案1
其他人已经给出了很好的答案,但似乎没有人回答这一部分:
How can it do this if it's inside a virtual machine?
在“桥接”模式下,VMWare 为客户机提供对网络接口的低级访问权限。 这可能是一种不安全的特权,因为它可能会监视主机的网络活动,甚至监视同一网络上的其他主机。
这就是为什么 VMWare 会警告您“尝试监控流量”——VMWare 正在向您确认可以向客户提供此特权。
答案2
大多数商业 VM 管理器默认使用共享网络,允许 VM 共享主机的所有网络接口,或桥接网络,允许 VM 共享特定的主机网络接口。要限制这种情况,请将 VM 切换到“仅主机”网络;然后您必须使用某种 NAT 安排,以便 VM 与外界通信。
答案3
虚拟机的网络设置可能处于桥接模式,这意味着它会像 Mac 本身一样在您的 LAN 上接收可路由的 IP 地址。使用此设置,Wireshark 中的混杂模式可以准确看到您的 Mac 工作站所看到的内容。仅主机或内部网络将隐藏外部流量。