How can I get all the active TCP connections using .NET Framework (no unmanaged PE import!)?

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)

Leave a Comment