在C#中使用GetActiveTcpConnections()时,如何确定哪个端点启动了连接
本文关键字:何确定 端点 连接 启动 GetActiveTcpConnections | 更新日期: 2023-09-27 18:26:50
这段代码运行良好,但我想知道是否可以获得每个连接的发起人信息?类似于哪个端点启动了连接。这可能吗?
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());
}
}
TCP连接在列出的端口上接收。入站连接将从GetActiveTcpListeners()返回,并可以从GetActiveTCPConnection()中扣除以获得出站连接。
https://msdn.microsoft.com/en-us/library/system.net.networkinformation.ipglobalproperties.getactivetcplisteners(v=vs.110).aspx
你可以看看http://www.timvw.be/2007/09/09/build-your-own-netstatexe-with-c/
这将告诉你如何获得流程:
Console.WriteLine("{0}",processModule.FileName);