如何使用winpcap修改数据包

时间:2012-03-08 01:43:45

标签: c tcp winpcap packets

我想使用winpcap修改数据包数据,并将修改后的数据包发送到目标IP而不是原始数据包。我怎么能意识到这一点?谁能提出一些想法?例如哪个API可以实现呢?如果可能的话,我们会更加赞赏一些步骤或其他文件。非常感谢!

2 个答案:

答案 0 :(得分:1)

使用Winpcap,您可以按packet[i]=任意十六进制值(例如0xFF)修改数据包内容。

请记住使用i>13进行数据修改,如下所示:

  • packet[0 -> 5] 目标MAC
  • packet[6 -> 11] 来源MAC
  • packet[12 -> 13] 以太网类型
  • frompacket[14 -> onwards] 数据字节

请记住MAX Ethernet PACKET长度为1500 bytes

答案 1 :(得分:0)

我认为你需要TUN/TAP而不是WinPcap才能完成你在问题中描述的任务。请看一下这个文件:

不幸的是,它不像WinPcap那么容易使用。所以你可能想采取不同的方法。您能否更具体地了解您的需求,以便我们能够提出更简单的替代方案,例如。在Python中编写TCP网关?如果您不需要调整以太网帧,这个小实用程序可能会提示您: