1

我是 .NET 框架的新手。

目前正在开发一个检查端口是否可以使用的程序。我曾经IPGlobalProperties获取此处指定的端口信息

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

由于“ESTABLISHED”和“LISTENING”状态指的是根据这篇文章打开的端口

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

4

1 回答 1

2

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

     var active = result.GetActiveTcpConnections().Where(c => c.State == TcpState.Established);
     active.Select(c => $"{c.LocalEndPoint.Address} {c.LocalEndPoint.Port}")
            .ToList()
            .ForEach(Console.WriteLine);
于 2021-04-21T08:27:12.540 回答