我正在处理的应用程序需要跟踪另一个应用程序的连接性,这意味着检查另一个应用程序是否正在生成和接收 IP 流量。
我们没有其他应用程序的 API,因此通过 WinSock 跟踪 IP 流量。我们通过定义一个 RAW IP 套接字并将 IO 控制设置为 -
int opt = RCVALL_ON;
WSAIoctl((socket) s, SIO_RCV_ALL, &opt, sizeof(opt), NULL, ...); //The rest is "empty"
然后,我们从套接字异步读取数据并查看 IP 标头以查看流量属于被跟踪的应用程序。
出现了两个问题——
- 是否有另一种更好的方法来跟踪 IP 流量?具体来说,我们需要知道哪些主机向机器发送数据,向哪些主机发送数据,以及何时发送。
- 使用上述方法,截获的数据是否从目标应用程序“窃取”?还是目标应用程序将其插入其套接字而不会中断?
谢谢,
阿萨夫