2011-02-16 121 views
0

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

** 

任何人都可以给我例子,在vC++中使用iphlpapi和winpcap来捕获每个应用程序的网络流量。

**

回答

1

我不认为这是可能的winpcap。请参阅Windows Filtering Platform。它根本不是先进的。如果你看样品,你可以找到一个完全符合你想要的样品。

+0

我们可以使用iphlpapi进行winpcap流程智能网络流量吗?如果是,那么请在vC++中举一个例子,因为我在网络和vC++中都是新手。 – Rockford

+0

我使用TCPTable获取网络静态数据,并比较使用winpcap捕获的数据包头以获取进程ID。 – Rockford

0

winpcap没有一个好的方法来告诉哪个进程正在发送什么数据。 但窗户。 尝试使用

netstat -a -o 

的netstat是一个程序,告诉你,你的终端上正在使用哪些端口。 -a开关说:“给我所有的端口” -o开关说,

你不能看到你的进程发送在哪个端口上“使用此端口告诉我进程的PID”,但你可以看到哪些端口正在接收udp数据包。

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

相关问题