代码之家  ›  专栏  ›  技术社区  ›  John T

监视进程的网络使用情况?

  •  12
  • John T  · 技术社区  · 16 年前

    有可能吗?我知道windows上的netstat-e会告诉您发送/接收的总字节数,但这是针对所有进程的。

    如:

    netstat -e
    
                               Received            Sent
    
    Bytes                    2111568926      1133174989
    Unicast packets             3016480         2711006
    Non-unicast packets            3122            1100
    Discards                          0               0
    Errors                            0               0
    Unknown protocols                 0
    

    我只想得到两个变量,比如rec=2111568926和sent=1133174989

    4 回复  |  直到 16 年前
        1
  •  5
  •   Sam Saffron James Allen    16 年前

    你可以利用 WinPcap

        2
  •  5
  •   Community Mohan Dere    5 年前

    这是有可能的,但是如果我没弄错的话,你必须创建一个网络驱动程序来过滤所有的网络流量,然后找出是哪个进程创建了流量。

    Microsoft Network Monitor 3.2 ( download

    网络监视器API:创建自己的

    Here is a blog post about these API's .

    在我看来,你应该使用这个API(或者其他API,比如WinPcap)来过滤流量,而不是编写自己的设备驱动程序。

        3
  •  3
  •   Stanislav Berkov    13 年前

    我在MSDN论坛上问了同样的问题,得到了答案。坦率地说,我已经试过了。一、 有人建议使用ETW。我不知道如何正确使用ETW事件。 http://social.msdn.microsoft.com/Forums/en-US/perfmon/thread/b82da95a-1c18-49ce-9bfa-e3d79ec40907

        4
  •  -2
  •   grom    16 年前