如何检查谁在C#中使用某个端口?

时间:2012-02-02 09:52:21

标签: c# networking port tcp-ip

如何确定使用哪个进程/哪个可执行文件,比如我的localhost的端口80?我想知道,例如,如果它是Apache Server等。

我们可以从ipProperties.GetActiveTcpListeners()获取一些信息吗?我只见过本地端点,远程端点和状态。

1 个答案:

答案 0 :(得分:5)

你可以管道netstat -o的输出并解析它,但这可能是一个充满头痛和边缘情况的可怕想法。

在幕后,netstat -o使用IPHelper库中的GetTcpTable2 API方法,该方法返回MIB_TCPTABLE2结构,每个端口由MIB_TCPROW2结构表示。您必须使用P / Invoke从C#访问它,为表和行构建互操作结构

检查PInvoke.Net,我发现类似的API调用已经映射到C# - GetExtendedTcpTable - 它列出了应用程序的可用TCP端口。您可以将其用作构建互操作结构和声明的基础。

相关问题