如何理解VMware虚拟机之间抓包坑vmnet

这篇文章主要讲解了“如何理解VMware虚拟机之间抓包坑vmnet”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解VMware虚拟机之间抓包坑vmnet”吧!

成都创新互联公司专业为企业提供岑溪网站建设、岑溪做网站、岑溪网站设计、岑溪网站制作等企业网站建设、网页设计与制作、岑溪企业网站模板建站服务,十余年岑溪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

最近有需要在 VMware 的两个虚拟机之间进行数据包的抓取,本来直接在虚拟机上开个 Wireshark 就行了,但是目标软件傲娇的很,检测到有 pcap 之类的服务后会进行错误的运算,所以需要在母鸡上进行抓包操作。

于是向往常一样在母鸡上打开了 Wireshark,接口点在了 eth0 的 WiFi 上。好的,虚拟机上运行了软件后,执行……母鸡的 Wireshark 上没有出现任何可疑的数据包……我就不信邪了,我把接口全部勾上后再试试……还是没有任何可疑的数据包。

这是什么问题……于是不信邪的看了下ifconfig,发现了这两个接口

vmnet1: flags=8863 mtu 1500 ether 00:50:56:c0:00:01 inet 192.168.198.1 netmask 0xffffff00 broadcast 192.168.198.255vmnet8: flags=8863 mtu 1500 ether 00:50:56:c0:00:08 inet 172.16.145.1 netmask 0xffffff00 broadcast 172.16.145.255

这两个应该就是 VMware 虚拟出来的接口吧,可是 Wireshark 上根本没有啊,请教了下 G 娘,找到了这个link,etung 回答到他不清楚 Wireshark 的底层是怎么工作的,但是 VMware 的接口没有像 BPF 一样的特性(?),这可能就是 Wireshark 不能工作的原因,不过你可以试试vmnet-sniffer来帮助你工作。

我在 Mac 下用的是 VMware Fusion,对应的vmnet-sniffer/Applications/VMware Fusion.app/Contents/Library下,你可以 cd 到对应目录或者直接把他 ln 到 /usr/bin 下。

你可以直接看见它的 usage

[realityone@rEimu /Applications/VMware Fusion.app/Contents/Library]$ ./vmnet-sniffer
usage: ./vmnet-sniffer [-eP] [-w file] if
       -e: show ethernet header
       -w: output in raw format to specified file   (readable by tcpdump/ethereal)

这里要提一点的坑是,我不清楚到底是什么原因,ifconfig下看见的vmnet1vmnet8并不是我虚拟机真正使用的接口,我在对这两个接口进行 sniff 的时候也没有什么可疑的数据包出现,那么虚拟机真正使用的接口到底是什么呢……

之后摸索了一下,来到了虚拟机文件的目录,有一个.vmx文件,这应该是虚拟机的配置文件(?),把他用编辑器打开后,翻到最下面,你可以看见类似下面的内容:

checkpoint.vmState.readOnly = "FALSE"checkpoint.vmState = "Windows XP Professional-bf7a100f.vmss"cleanShutdown = "TRUE"ethernet0.vnet = "vmnet2"ethernet0.bsdName = "en1"ethernet0.displayName = "Wi-Fi"

我们找到了一个野生的端口vmnet2,马上试试:

 [realityone@rEimu /Applications/VMware Fusion.app/Contents/Library]$ sudo ./vmnet-sniffer -e -w ~/Desktop/vmnet2.pcap vmnet2Password: len 89 src 88:1f:a1:1a:3a:c4 dst 01:00:5e:00:00:fb IP src 192.168.1.148 dst 224.0.0.251 UDP src port 5353 dst port 5353len 109 src 88:1f:a1:1a:3a:c4 dst 33:33:00:00:00:fb IPv6 src fe80::8a1f:a1ff:fe1a:3ac4 dst ff02::fb UDP src port 5353 dst port 5353len 110 src 00:0c:29:27:07:12 dst ff:ff:ff:ff:ff:ff IP src 192.168.1.136 dst 192.168.1.255 UDP src port 137 dst port 137len 175 src 88:1f:a1:1a:3a:c4 dst 01:00:5e:00:00:fb IP src 192.168.1.148 dst 224.0.0.251 UDP src port 5353 dst port 5353

恩,这下看见的内容就是我们需要的了。

还有一点要提的是不要忘记chown $USER下输出的文件,因为我们之前是用sudo来做的(为什么要用sudo呢,因为不是root的话是没有权限访问那些接口的)

感谢各位的阅读,以上就是“如何理解VMware虚拟机之间抓包坑vmnet”的内容了,经过本文的学习后,相信大家对如何理解VMware虚拟机之间抓包坑vmnet这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前文章:如何理解VMware虚拟机之间抓包坑vmnet
网页路径:http://pwwzsj.com/article/jocghj.html