I'm surprised with the quantity of users telling me that was not possible to do with pure managed code... For future users who is wondering about that, find the details from the answer that worked fine for me:
//Don't forget this:
using System.Net.NetworkInformation;
public static void ShowActiveTcpConnections()
{
Console.WriteLine("Active TCP Connections");
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
foreach (TcpConnectionInformation c in connections)
{
Console.WriteLine("{0} <==> {1}",
c.LocalEndPoint.ToString(),
c.RemoteEndPoint.ToString());
}
}
And call ShowActiveTcpConnections()
to list it, awesome and beautiful.
Source: IPGlobalProperties.GetActiveTcpConnections Method (MSDN)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…