如何使用 netsh 命令从 Windows 中的 TCP 端口转储原始数据?

Rus*_*lan 10 networking windows tcp netsh

我有一个看似简单的问题,但事实证明很难找到答案。

该站点具有高度安全的 Windows Server 2019 安装和连接到它的设备,该设备在某个 TCP 端口上运行。

我需要一个来自该端口的原始数据样本,需要几分钟,然后转储到一个二进制文件中。它需要尽可能原始(即,当我们从本地 .NET 应用程序连接到同一端口时,它需要类似于我们将从 TCP 流中读取的内容)。

这是非常优选仅使用内置的Windows工具,这个(即netsh),但最坏情况windumptelnet也很好。

Swi*_*one 16

是的,你可以用 netsh 做到这一点:

以管理员身份运行此命令:

netsh trace start capture=yes tracefile=c:\temp\trace.etl
Run Code Online (Sandbox Code Playgroud)

然后,停止捕获netsh trace stop并抓取.etl文件。

在电脑上下载etl2pcapng,用它来转换pcapng格式的.etl文件:etl2pcapng.exe in.etl out.pcapng

最后,使用 Wireshark 或类似工具打开 pcapng 文件。

请注意,如果服务器至少运行 Windows Server 2019 Update 2004,您也可以使用pktmon