如何确定使用哪个进程/哪个可执行文件,比如我的localhost的端口80?我想知道,例如,如果它是Apache Server等。
我们可以从ipProperties.GetActiveTcpListeners()获取一些信息吗?我只见过本地端点,远程端点和状态。
答案 0 :(得分:5)
你可以管道netstat -o
的输出并解析它,但这可能是一个充满头痛和边缘情况的可怕想法。
在幕后,netstat -o
使用IPHelper库中的GetTcpTable2 API方法,该方法返回MIB_TCPTABLE2结构,每个端口由MIB_TCPROW2结构表示。您必须使用P / Invoke从C#访问它,为表和行构建互操作结构
检查PInvoke.Net,我发现类似的API调用已经映射到C# - GetExtendedTcpTable - 它列出了应用程序的可用TCP端口。您可以将其用作构建互操作结构和声明的基础。