我必须创建一个基于Windows的应用程序,该应用程序捕获每个应用程序的网络流量,其中一些正在运行的应用程序使用相同的端口号来发送和接收数据包。 我已经使用了winpcap并成功捕获并过滤了它们的端口和目的明智但我不知道如何捕获它们的应用程序明智,这意味着如何从ip数据包知道应用程序信息。 只有winpcap可以解决问题或者使用其他一些api或库。 我们可以从包头中获取生成包的应用程序信息吗?
**
任何人都可以举例说明在vc ++中使用iphlpapi和winpcap来捕获每个应用程序的网络流量。
**
答案 0 :(得分:1)
我认为这不可能用winpcap。
看看Windows Filtering Platform。它根本不高级。如果您查看样本,您可以找到一个完全符合您想要的样本。
答案 1 :(得分:0)
winpcap没有一个很好的方法来告诉哪些进程正在发送什么数据。 但窗户确实如此。 尝试使用
netstat -a -o
netstat是一个程序,可以告诉您终端上正在使用哪些端口。 - 交换机说,“告诉我所有的端口” -o switch说,“给我看看使用这个端口的进程的pid”
您无法看到您的进程正在发送的端口,但您可以看到哪些端口正在接收udp数据包。
对于tcp数据包,你会看到你想要的所有信息,包括远程连接的ip地址。