通过串行控制台或 vsock 将客户虚拟机的网络流量转储到主机文件系统?

通过串行控制台或 vsock 将客户虚拟机的网络流量转储到主机文件系统?

我有一台使用 VPN 进行连接的虚拟机,我需要将 VPN 接口的流量转储到主机上的某个 pcap 文件中。虚拟机相当精简,但我可以运行 tcpdump。但是我不能使用 NFS 和共享文件系统之类的东西。我可以连接到虚拟机的串行控制台,当然可以通过它运行 tcpdump。但是我如何在主机上获取 pcap?也许我也可以通过 vsocks 来做到这一点。有人知道如何以实用的方式做到这一点吗?

答案1

文件传输,也许是 scp。“可移动”媒体。

上传到数据包捕获设备或 SaS 服务(如 CloudShark)。

在其路径上的某处进行 SPAN 或 TAP,并剥离封装的流量。

编辑:在主机上封装,然后将其镜像到其他地方。最近的 Linux 可以执行 ERSPAN。

编辑 2:对于您想要的 vsock 实现,请使用 AF_VSOCK 查找客户机到主机的文件传输程序。VM 套接字概念足够新,这可能意味着编译某人的代码。就像 go 实现一样mdlayher/vsock它有一个文件传输演示程序 vscp。是否认为绕过 IP 堆栈值得花费精力对其进行破解取决于您自己。如果您想要一些尚未大量用于生产的东西。

相关内容