Linux – How to view the TCP Send and Receive Queue sizes on Windows

linuxnetworkingtcpipwindows

Linux netstat shows send and receive queue sizes.

How do I get this info under Windows, specifically Server 2003?

Best Answer

This question is old but I wanted to add some information. It's a fairly high search result on Google.

As far as I can tell there is not a way to do this, but if anyone can do more digging and figure out a valid alternative that would be much appreciated!

As @Fencepost pointed out in his answer, you can try to query NDIS OIDs. The most relevant NDIS OID I found is OID_GEN_TRANSMIT_QUEUE_LENGTH

Most of the NDIS OIDs are mapped to WMI classes, you can list them in powershell with

Get-WmiObject -Namespace root\wmi -List  | Where-Object {$_.name -Match "MSNdis" } | Sort-Object

but there doesn't seem to be one for Transmit Queue Length.

@Chris J mentioned Network Interface\Output Queue Length. You can get this value on the command line with typeperf.

typeperf "\Network Interface(*)\Output Queue Length" -sc 1

But the value is always 0: http://support.microsoft.com/kb/822226

Windows only keeps track of this information in the NIC driver software, and it's only packets queued per NIC, and doesn't distinguish between what's queued per socket.

If you do want to do network debugging on the command line, any counters you find in perfmon can be queried using typeperf or logman.