我想计算要发送的 UDP 标头数据包的校验和:
packetosend = """60 00 00 00 00 24 3a 40 20 02 c0 a8 01 50 00 01 00 00
00 00 00 00 09 38 20 02 c0 a8 01 50 00 01 00 00 00 00 00 00 09 6f"""
所以我需要加入这个 utf-16(不是问题)并计算这个特定数据包的校验和。我怎样才能做到这一点?
谢谢!
编辑:是的,它是 ICMPv6 数据包的 IPv6 标头,无论如何我想知道的是公式,以及它是如何工作的。
我再举一个 ICMP ping echo (v4) 数据包的例子:
packet = """
08 00 d1 15 76 0c 00 07 bf d3 55 4a ad b5 03 00 // "d1 15" is the packet checksum
08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17
18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27
28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37"""
谢谢。