【问题标题】:How to capture network traffic application wise using winpcap?如何使用 winpcap 明智地捕获网络流量应用程序?
【发布时间】:2011-07-30 09:43:31
【问题描述】:

我必须制作一个基于 Windows 的应用程序,用于捕获每个应用程序的网络流量,其中一些正在运行的应用程序使用相同的端口号来发送和接收数据包。 我已经使用了 winpcap 并成功地捕获并过滤了它们的端口和目的地,但我不知道如何从应用程序中捕获它们,这意味着如何从 ip 数据包中了解应用程序信息。 只有winpcap可以解决问题还是应该使用其他一些api或库。 能否从包头中获取生成包的应用信息?

 **

谁能给我举个例子,在 vc++ 中使用 iphlpapi 和 winpcap 来捕获每个应用程序的网络流量。

**

【问题讨论】:

    标签: winapi visual-c++ mfc winpcap


    【解决方案1】:

    我认为使用 winpcap 是不可能的。

    看看Windows Filtering Platform。它根本不先进。如果您查看示例,您可以找到一个完全符合您要求的示例。

    【讨论】:

    • 我们可以使用 iphlpapi 通过 winpcap 处理明智的网络流量吗?如果是,那么请在 vc++ 中举一个例子。因为我是网络和 vc++ 的新手
    • 我使用 TCPTable 来获取网络静态数据,并比较使用 winpcap 捕获的数据包的标头以获取进程 ID。
    【解决方案2】:

    winpcap 没有很好的方法来判断哪个进程正在发送什么数据。 但是窗户可以。 尝试使用

    netstat -a -o
    

    netstat 是一个程序,它告诉您终端上正在使用哪些端口。 -a 开关说,“显示所有端口” -o 开关说,“显示使用此端口的进程的 pid”

    您看不到进程发送的端口,但您可以看到 udp 数据包接收的端口。

    对于 tcp 数据包,您会看到所有可能需要的信息,包括远程连接 IP 地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 2019-11-04
      • 2019-01-22
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2014-06-21
      相关资源
      最近更新 更多