C#根据进程ID查找本地/远程地址

时间:2011-05-12 07:55:11

标签: c# ip-address local pid

我使用了deviare API来帮助我找出当前在桌面上运行的进程的PID。有谁可以指导我或启发我如何获得本地/远程IP地址以及基于我的PID的端口号? (我应该使用什么API?)

我想要这样的事情:

Public ArrayList GetRemoteAdder(int PID)
{
  return remoteAddr;
}

我想根据我拥有的PID检索进程正在访问的远程IP地址。

1 个答案:

答案 0 :(得分:0)

可能不是最好的方式,但速度很快:

调用netstat -n -o并解析输出。通过P / Invoke使用Win32魔法可能是一个更好的主意,但是你的用例(以及调用的频率......对于一次性的事情,它可能已经足够好了)并不清楚。

签名对我来说也没有多大意义:GetRemoteAdder()会返回什么?每个进程都可以轻松侦听多个端口或打开一堆传出连接,因此单个字符串可能无法提供帮助。