我在 Hyper-V 上有一个 Windows 10 VM。这是一个生产系统(是的,我知道),它运行着多个关键服务,我需要分析这些服务,以便将其迁移到更好的系统。我需要捕获该系统上的网络流量,以确保所有服务都得到覆盖,并且可以对其进行防火墙保护。
问题出在与该机器相关的环境中。它托管在 20Gbps 中继的生产 Hyper-V 环境中(因此我无法安装任何东西,端口镜像会压垮 1Gbps 目标,端口镜像过滤会压垮交换机),虚拟机可用的存储空间非常小,因此无法进行本地捕获,任何可能导致服务中断的事情都无法进行。
如果这是一台 Linux 机器,那么获取我需要的东西就很容易了。将 Tcpdump 流传输到另一台 Linux 机器,定期轮换文件,并在输出上运行 awk 脚本以捕获和组合我需要的东西(TCP SYN 和所有 srcIP-destIP-destPort 唯一三元组)。
但这是 Windows 10。似乎根本没有适用于较新版本 Windows 的远程数据包流软件。WinPCAP 有一个实验版本的 RPCAPD(远程 Pcap 守护进程),但它已经 5 年没有更新了,也不支持 Win10(而且,再说一次,这是生产系统,所以我不能冒险破坏任何东西)。
到目前为止,我发现并失败了以下内容:
- Win10Pcap:没有提及 RPCAPD 支持
- Windows 版 TCPDump:禁止免费用于商业用途
- WinPcap:整个 VM 或网络堆栈存在崩溃的风险
- Pktmon:没有 Pcap,没有流媒体
- Wireshark/Tshark:不支持远程流媒体
- Nirsoft 应用程序:似乎没有支持远程流媒体的应用程序
我是否遗漏了什么,或者是否只有一种(非免费)方法可以从 Windows 获取数据包捕获流?