使用Pcap.net项目进行数据包操作



我正在使用Pcap.net使用Wireshark文件(Pcap扩展名)的发送缓冲区发送数据包,我的问题是有什么方法可以在播放期间或之前更改数据包的IP?在这里,我用传输前文件中的数据包填充缓冲区:

int numPackets = 0;
Packet packet;
while (inputCommunicator.ReceivePacket(out packet) == PacketCommunicatorReceiveResult.Ok)
{
    ILayer layer = packet.Ethernet.ExtractLayer(); --> new layer
    sendBuffer.Enqueue(packet);
    ++numPackets;
}

答案是肯定的。

我相信Pcap.Net论坛上的讨论会对你有所帮助。

通常,您需要提取所有相关的层(以太网、IPv4和IPv4有效负载),更改IPv4的层IP并构建新的数据包。

如果要确保IPv4校验和正确,则需要将IPv4层校验和字段设置为null。

如果你有TCP或UDP,并且你想确保它们的校验和是正确的,你需要提取相关的传输层,将其校验和字段更改为null,并从以太网、IPv4、传输和传输有效负载层构建数据包。

我希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新