简而言之

简而言之

我不是网络方面的专业人士,正在尝试更好地理解网络。

以下是我的设置。

主机系统是运行 VirtualBox 的 OSX。2 个 VirtualBox VM(VM1 和 VM2),每个都运行 Ubuntu,这两个系统都通过 VBoxnet0 接口在仅主机网络配置中与主机 OSX 连接。两者都能够完美地互相 ping 通。

现在我想要的是,当 VM2 上进行任何网络活动时,我应该能够从 VM1(运行 Wireshark)监控所有网络活动(比如使用 Wireshark 等)。

我如何实现这个目标?

请原谅我对此不太理解,但在这种情况下是否需要 IP 转发?我猜不需要,因为两个虚拟机都在同一个 VBoxnet0 接口上,并且位于同一个 192.168.56.* 网络上。如果我的理解有误,请纠正我。

我已经尝试使用以下命令将 VM1 的 IP 添加为 VM2 的网关:

路由添加默认网关 192.168.56.102 eth0

但实际上并没有太大的帮助。

答案1

正常情况下,使用 VirtualBox 中的网络跟踪功能即可完成此操作。我认为这在 GUI 中可能不可用,因此您必须使用命令行界面。

简而言之

您从关闭虚拟机开始。

要启用网络跟踪并启动虚拟机,您可以执行以下操作:

# VBoxManage modifyvm [your-vm] --nictrace[adapter-number] on --nictracefile[adapter-number] file.pcap
# VirtualBox -startvm [your-vm]

完成后不要忘记禁用跟踪:

# VBoxManage modifyvm [your-vm] --nictrace[adapter-number] off 

一个例子

考虑到您给出的例子:

启用:

# VBoxManage modifyvm VM1 --nictrace1 on --nictracefile1 mytrace.pcap
# VirtualBox -startvm VM1

禁用方法:

# VBoxManage modifyvm VM1 --nictrace1 off 

相关内容