我在 vmware fusion 中部署了一个虚拟机,它通过接口 vmnet1 与主机通信。不幸的是,wireshark 不提供监听该接口的功能。
有没有办法让 wireshark 监听该接口?请注意,我在 Mac 上运行。
感谢那。
答案1
VMWare 的产品似乎在主机上捕获方面无处不在。正如 davey 所说,在 Linux 上,您可以毫无困难地在主机上捕获。Windows 上的服务器允许您列出接口,但不能从这些接口捕获。Fusion 不提供 BPF 设备,因此您无法使用 tcpdump 或 Wireshark 进行捕获。他们确实提供了自己的捕获实用程序,尽管它不支持过滤:
/Library/Application\ Support/VMware\ Fusion/vmnet-sniffer
Windows 上的等效程序(如果有人需要的话)是 vnetsniffer。
在 Mac VMware Fusion 5 上,位置为:
/Applications/VMware\ Fusion.app/Contents/Library/vmnet-sniffer
答案2
这也许是“Fusion”的事情。我绝对可以在我的 Linux 机器上使用 Wireshark 捕获“vmnet”接口。
问题:您可以对 vmnet 接口使用“tcpdump”吗:
$ sudo tcpdump -i vmnet1 -w /tmp/vmnet1.dmp
然后使用wireshark来查看捕获的文件?
答案3
你想实现什么?
您可以在路由/桥接的物理接口上监听数据包。然后,通过源/目标 IP,您可以确定哪些数据包是发往/来自虚拟机而不是主机的。