1

我正在尝试使用 SharpPcap 和 PacketDotNet 发送超过 2000 字节的数据。但是,MTU(1500 字节)小于数据的大小。我尝试使用https://support.zen.co.uk/kb/Knowledgebase/Changing-the-MTU-size-in-Windows-Vista-7-or-8设置 MTU(到 5000) ,但它仍然是抛出错误如下:

SharpPcap.PcapException: Can't send packet: send error: PacketSendPacket failed
at SharpPcap.LibPcap.LibPcapLiveDevice.SendPacket(Byte[] p, Int32 size)
at SharpPcap.LibPcap.PcapDevice.SendPacket(Byte[] p)
at SharpPcap.LibPcap.PcapDevice.SendPacket(Packet p)

有谁可以帮我离开这里吗...

4

1 回答 1

1

为了在 Windows 中发送大于 1500 字节的以太网数据包,您需要 2 件事:

  • 更改 MTU(您已经了解了)
    netsh interface ipv4 set subinterface "Your Interface Name" mtu=2000 store=persistent
  • 您需要在设备管理器中激活巨型帧 在此处输入图像描述

请注意,这必须在发送数据包的设备和接收数据包的设备上完成。

于 2020-10-09T21:06:34.363 回答