UDP checksum计算步骤及方法请见如下链接:
tcp/ip的checksum在信息安全和功能安全方面可以起到大作用,让我们从小白开始认识计算步骤和计算方式吧
1、TCP/IP首部结构
TCP/IP首部包含如下内容:
版本-------------1字节=4字符
首部长度—------1字节=4字符
服务类型—------2字节=8字符
总长度-----------4字节=16字符
标识-------------4字节=16字符
标志-------------1字节=3字符
片偏移-----------3字节=13字符
生存时间--------2字节=8字符
协议-------------2字节=8字符
首部校验和-----4字节=16字符
源IP地址--------8字节=32字符
目的IP地址------8字节=32字符
2、TCP/IP的首部校验和Checksum仅对IP首部数据进行计算,数据报不在计算范围内;
3、发送端的TCP/IP首部校验和在计算时,将首部校验和看作为0x0000来计算;
4、在计算首部校验和时按照每16位字符为1个单位进行累加;
5、发送端用wireshark截取1帧TCP报文,并将IP首部数据详细展开来:
6、如上1帧TCP报文的IP首部数据的Checksum计算步骤如下:
6.1、将IP首部数据按照每16字符为一组进行截断:
45 00 00 36 00 0a 00 00 ff 06 61 24 ac 1f 81 2e ac 1f 81 26
6.2、将每组进行16进制相加,其中首部校验和默认是0000:
sum=4500+0036+000a+0000+ff06+ac1f+812e+ac1f+8126=3 9ed8
6.3、IP首部数据的sum结果是3 9ed8,属于溢出状态,则需进行回滚计算:
将溢出的结果拆成0003和9ed8,两者进行回滚相加:
carry=0003+9ed8=9edb
6.4、最终对carry后的数据取反得到checksum结果:
checksum=ffff-9edb=6124
7、excel版本自动计算公式如下:
如需excel计算公式请到如下链接下载: