Is there a managed class/method that would provide the TCP port number(s) used by a particular Windows processes?
I'm really looking for a .NET equivalent of the following CMD line:
netstat -ano |find /i "listening"
Is there a managed class/method that would provide the TCP port number(s) used by a particular Windows processes?
I'm really looking for a .NET equivalent of the following CMD line:
netstat -ano |find /i "listening"
See here for an equivalent of netstat in C#: http://towardsnext.wordpress.com/2009/02/09/netstat-in-c/
Except for PID, take a look this:
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] endPoints = ipProperties.GetActiveTcpListeners();
TcpConnectionInformation[] tcpConnections =
ipProperties.GetActiveTcpConnections();
foreach (TcpConnectionInformation info in tcpConnections)
{
Console.WriteLine("Local: {0}:{1}\nRemote: {2}:{3}\nState: {4}\n",
info.LocalEndPoint.Address, info.LocalEndPoint.Port,
info.RemoteEndPoint.Address, info.RemoteEndPoint.Port,
info.State.ToString());
}
Console.ReadLine();
Source: Netstat in C#
A bit more research bring this: Build your own netstat.exe with c#. This uses P/Invoke to call GetExtendedTcpTable
and using same structure as netstat
.