如何在 C# 中获取处于 "ESTABLISHED" 状态的端口

How to get the ports that are in "ESTABLISHED" state in C#

我是 .NET 框架的新手。

目前正在开发一个检查端口是否准备好使用的程序。 我已经使用 IPGlobalProperties 获取指定的端口信息 here

IPGlobalProperties ipGP = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] tcpEndPoints= ipGP.GetActiveTcpListeners();
IPEndPoint[] updEndPoints = ipGP.GetActiveUdpListeners();
// port validation

因为“ESTABLISHED”和“LISTENING”状态指的是开放端口 根据这个 post

我还需要一个解决方案来获取处于“ESTABLISHED”状态的端口。 有没有办法在 C#

中获取处于“ESTABLISHED”状态的端口

不确定您到底想看什么,但这会向您显示所有活动的本地已建立的套接字和端口

     var active = result.GetActiveTcpConnections().Where(c => c.State == TcpState.Established);
     active.Select(c => $"{c.LocalEndPoint.Address} {c.LocalEndPoint.Port}")
            .ToList()
            .ForEach(Console.WriteLine);