Ip 是否有多个插座;“重复”;数据?

Ip 是否有多个插座;“重复”;数据?,ip,winsock2,Ip,Winsock2,我正在处理的应用程序需要跟踪另一个应用程序的连接,这意味着检查另一个应用程序是否正在生成和接收IP流量 我们没有其他应用程序的API,因此正在通过WinSock跟踪IP流量。为此,我们定义了一个原始IP套接字,并将IO控件设置为- int opt = RCVALL_ON; WSAIoctl((socket) s, SIO_RCV_ALL, &opt, sizeof(opt), NULL, ...); //The rest is "empty" 然后,我们异步地从套接字读取数据,并查看I

我正在处理的应用程序需要跟踪另一个应用程序的连接,这意味着检查另一个应用程序是否正在生成和接收IP流量

我们没有其他应用程序的API,因此正在通过WinSock跟踪IP流量。为此,我们定义了一个原始IP套接字,并将IO控件设置为-

int opt = RCVALL_ON;
WSAIoctl((socket) s, SIO_RCV_ALL, &opt, sizeof(opt), NULL, ...); //The rest is "empty"
然后,我们异步地从套接字读取数据,并查看IP报头以查看属于被跟踪应用程序的流量

出现了两个问题-

  • 有没有其他更好的方法来跟踪IP流量?具体来说,我们需要知道哪些主机向机器发送了数据,哪些主机发送了数据,以及何时发送数据
  • 使用上述方法,是否从目标应用程序中截获数据?或者目标应用程序不中断地将其放入其套接字中
  • 谢谢,

    如果有,我会认真考虑一下

    这是WireShark用来监控流量的,当我看了看他们的API时,它们看起来真的很有用

  • 如果你不想要司机,这就是跟踪交通的方法。如果你接受司机,这是一条路要走。有了更多的限制,您可以查看已建立的tcp连接(如netstat),但根据您的要求,我肯定会选择您正在使用的原始套接字方法

  • 使用您的方法,数据是复制的,而不是被盗的。我能找到的唯一明确说明这一点的文档是:“接收到的数据报被复制到所有SOCK_原始套接字中…”


  • 谢谢,但我不想安装任何驱动程序,因为这可能会吓跑用户。管理员权限(UAC弹出窗口)正常。您是否使用internet协议(TCP、UDP)之上的任何协议?@Nop-没有任何相关内容。我们只关心是否有数据通过IP发送。我们甚至不在乎它是TCP还是UDP,只是机器已经开始相互通信。