13

如何使用 .NET Framework 获取所有活动的 TCP 连接(没有非托管 PE 导入!)?

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

4

1 回答 1

31

我对告诉我纯托管代码无法实现的用户数量感到惊讶......对于想知道这一点的未来用户,请从对我来说很好的答案中找到详细信息:

//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 方法(MSDN)

于 2012-12-10T19:16:09.983 回答