【问题标题】:Find ports used by Process ID查找进程 ID 使用的端口
【发布时间】:2015-03-14 01:45:03
【问题描述】:

我正在使用 WMI 管理对象搜索器来查找机器上运行的进程并返回该进程的进程 ID。

接下来我需要做的是找到进程正在侦听的端口。

有没有办法在 C# 中使用 WMI 做到这一点?我遇到了这个How to determine tcp port used by Windows process in C#,但它不允许我基于 PID 进行查询。

我已经用了一个半小时的 Google 会话来寻找解决方案,在此阶段非常感谢您的帮助!

干杯 戴夫

【问题讨论】:

  • 它并不漂亮,但正如您所发现的,netstat 会为您提供该信息。您可以从netstat 捕获输出并对其进行解析。这是一种“又快又脏”的做法,我永远不会在生产中使用这种代码。
  • 是的,这很不幸!我对 .NET 还很陌生,我很喜欢使用类似 SQL 的查询从管理对象中提取信息是多么简单!无论如何,干杯。

标签: c# .net wmi wmi-query netstat


【解决方案1】:

WMI 不包含任何类来查询与 PID 关联的 TCP 端点列表,要获取该信息,您必须使用 GetExtendedTcpTable WinApi 函数 interop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-27
    • 2010-10-30
    • 1970-01-01
    • 2013-04-03
    • 2012-12-23
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多