difference between IPv6 and IPv4 fragment:
Fragment Extheader长度8, Udp payload length1440
Udp payload(1440) + udp header(8) + fragment Exthdr(8) = 1456 = IP payload length
Payload length 1456 + 40 (ipv6 header) + 14 = 1510 (Ethernet frame length)
the last fragment udp payload can be 1448 bytes, otherwise udp payload should be 1440 in udp fragment packet.
mac=Ether(src="00:50:56:95:0d:c2",dst="00:50:56:95:16:d9")
ipv6=IPv6(version=6, tc=0, fl=0, src="3001::2", dst="3001::3",plen=1456, nh="Fragment Header",hlim=64 )
v6exthdr=IPv6ExtHdrFragment(m=0, id=4004085281,offset=185,nh="UDP", res1=0, res2=0)
udp=UDP(sport=1025, dport=999, len=1448, chksum=0xb9dc)/('x'*1440)
u=mac/ipv6/v6exthdr/udp
srp(u,iface="ens192")
v6exthdr=IPv6ExtHdrFragment(m=1, id=4004085281,offset=185,nh="UDP", res1=0, res2=0)
udp=UDP(sport=1025, dport=999, len=1448, chksum=0xb9dc)/('x'*1440)
u=mac/ipv6/v6exthdr/udp
srp(u,iface="ens

本文详细比较了IPv6和IPv4在网络分片方面的区别,并通过使用Scapy库进行实际操作,展示了IPv6 Fragment Header和UDP包处理的实例。实验涵盖了不同ID和分片偏移的UDP数据包发送,同时涉及IPv4的分片处理。
最低0.47元/天 解锁文章
2583

被折叠的 条评论
为什么被折叠?



