以太网Checksum-TCP/IP手算拆解教学

UDP checksum计算步骤及方法请见如下链接:

以太网Checksum-UDP手算教学-CSDN博客

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计算公式请到如下链接下载:

原创-tcp/ip和UDPchecksum手算方法,逐步拆解计算步骤,让你一看就会资源-CSDN文库

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此墨言非彼莫言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值