是否有一个netstat -s相当于windows?

我知道netstat -s存在于Windows上,但它显示的信息比Linux / OS Xless。它只给出8个关于TCP的计数器,而在Linux上则超过50个。

我正在寻找任何TCP相关的计数器,如:

有没有一个内置的工具来实现这一目标? 或者也许有一个系统调用,可以让我检索这些信息?

否内置工具。 我唯一能想到的方式就是使用winpcap / npf库来构build你自己的工具来组成你需要的stat。

在Windows中,与Linux / BSD相比,networking堆栈被剥离。 因此需要winpcap&npf驱动程序。

我会补充说,即使Windows防火墙是一个伪无状态的防火墙(第4层,它只是检查TCP通信,没有icmp检查等(第3层)),而不是像Linux或BSD的框可。 所以它解释了为什么内置的工具列表less了很多的数据。

使用第三方产品短缺…

netstat -s -e

或者你可以使用WMI

如:

wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface

wmic path Win32_PerfFormattedData_Tcpip_TCPv4

wmic path Win32_PerfFormattedData_Tcpip_IPv4

上面的代码需要和GET参数一起使用,以便将所需的对象归零,但是可以按原样运行它们以查看选项是什么。

netsh interfaces ipv4 show {tcp,ip,udp}stats通过netstat给你提供了一些额外的信息,但这可能还不够。

关于netsh ipv4的MS Technet文章

Windows不报告TcpExt属性。 原因是因为Windows默认不TOE。 您可以通过运行netstat -nt来validation这一点,卸载列可能是InHost 。 相比之下,Linux默认使用TOE(TCP卸载引擎),并且构build工具来查询TcpExt属性。

您想要的数据完全依赖于为操作系统构build的驱动程序来公开该数据。 还需要创build一个Windows提供程序,以便您可以查询数据(可能是驱动程序程序集)。 在窗口中打开设备pipe理器,并检查到networking适配器属性的高级选项卡。 你可以看到在Windows中收集什么types的数据,以及是否启用。

我意识到其他人已经build议,Windows不能默认,并推荐其他工具(如pcap)。 虽然我以为你想知道为什么