如何使用.NET Framework获得所有 Activity 的TCP连接(不进行非托管PE导入!)?

我正在进行套接字编程,并想检查一下。在我的研究中,我通过导入一个我不感兴趣的非托管DLL文件找到了解决方案。

最佳答案

令我惊讶的是,有如此之多的用户告诉我使用纯托管代码是不可能的...对于那些对此感到疑惑的 future 用户,请从对我来说很好的答案中找到详细信息:

//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());
    }
}

并调用ShowActiveTcpConnections()列出它,很棒又漂亮。

资料来源:IPGlobalProperties.GetActiveTcpConnections Method(MSDN)

10-07 21:34