【发布时间】:2010-10-12 10:21:01
【问题描述】:
我想知道哪些进程正在使用我的网络。这在 Linux 中很容易,但我不知道如何在 Windows 中做到这一点。
基本上,对于每个进程,我想知道它在一段时间内读取/写入网络的字节数。如果我能知道 IP 地址/端口号等,那就太好了。
有什么建议吗? Windows Vista/Windows 2008 似乎能够在资源监视器中执行此操作。他们是怎么做到的呢?开销是多少?
我想在我自己的代码中执行此操作,因此实用程序(TCPView、PerfMon)对我没有用处。我还希望有单独的磁盘和网络 I/O 计数器,所以默认的性能计数器是不够的。
Windows XP、2003、Vista、2008 和 7 为首选。 Win32 或 COM 都可以。
【问题讨论】:
-
从目前的答案来看,似乎人们认为您正在寻找一个实用工具来执行此操作。您是在寻找工具,还是希望在自己的应用程序中自行编程?我建议澄清一下,如果合适的话,让我们知道你正在使用什么编程环境,等等。
-
我在stackoverflow.com/questions/44689482/… 发布了一些 POC 代码以解决类似的问题。
标签: performance winapi networking