如何检查谁使用C#中的某个端口
本文关键字:何检查 检查 | 更新日期: 2023-09-27 18:22:18
如何确定哪个进程/什么可执行文件正在使用,比如我的localhost的端口80?我想知道,例如,它是否是Apache服务器等
我们可以从ipProperties.GetActiveTcpListeners()获得一些信息吗?我只见过本地端点、远程端点和状态。
您可以通过管道传输netstat -o
的输出并对其进行解析,但这可能是一个充满头痛和边缘情况的糟糕想法。
在后台,netstat -o
使用来自IPHelper库的GetTcpTable2 API方法,该方法返回MIB_TCPTABLE2结构,每个端口由MIB_TCPROW2结构表示。您必须使用P/Invoke从C#访问它,为表和行构建互操作结构
通过检查PInvoke.Net,我发现类似的API调用已经映射到C#-GetExtendedTcpTable-它列出了应用程序的可用TCP端口。您可以将其用作构建互操作结构和声明的基础。