Internet校验和-将十六进制数字加在一起作为校验和

问题描述 投票:0回答:2

我遇到了以下创建Internet校验和的示例:

以IP标头45 00 00 54 41 e0 40 00 40 01 00 00 0a 00 00 04 0a 00 00 05为例:

  1. 将字段加在一起将产生两个补码和01 1b 3e
  2. 然后,将其转换为一个补码,将结转位添加到前16位:1b 3e + 01 = 1b 3f
  3. 最后,取一个总和的补码,得到校验和值e4c0

我想知道如何将IP标头加在一起以获得01 1b 3e

python networking hex
2个回答
1
投票

将IP标头拆分为16位。


1
投票

IP报头与4位十六进制数加在一起。即添加的前3个数字是0x4500 + 0x0054 + 0x41e0 + ...

© www.soinside.com 2019 - 2024. All rights reserved.