1

我正在用 C++ 为 Windows 编写一个 UDP 代理应用程序,它使用 Winsock 发送和接收 UDP 数据包。问题是我需要处理整个数据包,而不仅仅是数据和 UDP 和/或 IP 标头。我尝试过使用 IP_HDRINCL 的原始套接字(可能拼写错误),但它仍然会从数据包中删除一些信息。如果在winsock中不可能的话,是否有某种图书馆或其他东西可以让我完成这项工作?

4

2 回答 2

3

对于接收数据包,WinPCAP将允许您完成所有这些以及更多操作,此处的示例代码显示了如何捕获到达接口的所有数据包。

于 2010-08-15T06:13:43.033 回答
0

以下是一些在 Windows 中过滤数据包的方法:

  1. WinDivert免费开源项目可在 Windows 7、2008 或更高版本上运行。网络层。
  2. WinpkFilter 3.0商业版、Windows XP 及更高版本。数据链路层
  3. pcausa,商业。数据链路层
  4. Windows 过滤平台数据包修改示例创建 WinDivert 使用的标注驱动程序的示例,您现在应该实现内核驱动程序。网络层。
于 2012-01-24T23:58:13.257 回答