数据包大小超过1500

时间:2019-11-28 12:07:57

标签: c# .net packet sharppcap packetdotnet

我正在尝试使用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)

有人可以帮我吗...

1 个答案:

答案 0 :(得分:1)

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

  • 更改MTU(您已经了解了)
    netsh interface ipv4 set subinterface "Your Interface Name" mtu=2000 store=persistent
  • 您需要在设备管理器中激活巨型帧 enter image description here

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