我将演示如何使用 wireshark 进行数据包嗅探。
因此,我决定在 VirtualBox 中创建两台虚拟机(使用“仅主机适配器”网络配置),并使用主机上安装的 wireshark 监控它们之间的流量。这很好,但我需要主机上的 root 权限,而我没有。
1- 一个解决方案是找到一种无需 sudo 访问权限即可嗅探的方法。这很冒险也很危险,而且可能行不通。
2-另一个解决方案是创建第三台虚拟机,前两台机器之间的流量通过第三台虚拟机,我可以使用该机器进行嗅探(我肯定在我的虚拟机上具有 sudo 访问权限)。
我更喜欢解决方案 2,但我不知道该怎么做。有没有什么方法可以做到 2?
答案1
在第三台虚拟机上设置 Squid 代理服务器。将所有适配器设置为桥接。通过 Squid 代理来自两台测试机器的流量。在代理上安装 wireshark 并监控 eth0。玩得开心。
这个人可能能给你一个和其他任何人一样好的答案。https://serverfault.com/questions/306024/how-to-route-network-traffic-of-a-host-via-another-host
答案2
如果您的第三台虚拟机位于同一个虚拟网络上,并且您对其具有 root 访问权限,则可以开始以混杂模式进行嗅探 - 这将使所有数据包(甚至是往返于第一和第二台虚拟机的数据包)都落在第三台虚拟机的接口上。
请记住,虚拟网络本身(以及所有 3 个虚拟机)必须以允许数据包捕获的方式进行设置(某些虚拟机管理程序具有此类选项)。