篇一:ip首部檢验和举例
今天看一篇关于IPSec的论文里面用到了IP头部校验和的伪造,虽然自己也看了好久的网络但是提到IP头部校验和怎么算的,还真不昰很清楚于是去网上查了些资料,整理记录一下
sp;IP首部校验和的计算主要是两步:按位异或和取反,具体来说
1. IP头部以16位为一个单位逐個模2加(相当于异或);
2. 得到的结果取反,作为校验和放入校验和字段;
3. 初始计算校验和字段时该字段全部用0填充;
以上是对于发送者来說如何计算校验和的而对于接收者来说,验证也很简单:
1. 对于接收的IP报文头部以16位为单位逐个求和;
2. 若结果为1则校验正确,否则出错丟弃;
原理很简单接收方的计算对象是A和A的反的异或,结果当然是1了!
篇二:ip首部检验和举例
这个方法很简单把10进制换成对应的2进制,注意每个字段的位数再每16为二进制一起做加法运算,运算结果是十六位的结果还有进位把进位和运算结果相加,最后求反就是了為计算方便,也可以采用16进制计算但求反的时候还是要换成2进制。