修改IP、TCP、UDP校验码

  ipv4数据报文中修改的来源ip或目的ip后,一般需要修改对应的校验码。首先ip校验码是最基础的,然后因为TCP/UDP对应的校验码会根据伪报文头检查(其中包含src ip 和 dst ip),所以也需要修改tcp/udp报文的校验码。这里修复了一些其他文章中的BUG,例如缓存溢出、构造TCP/UDP伪报文采用的参数等,通过实验能够正常运行。

1.IP检验码

2.TCP/UDP校验码 

  执行修改当前数据包TCP或UDP校验码

  计算TCP或UDP校验码函数,其中构造TCP/UDP伪报头中采用长度为TCP/UDP段之后报文长度,ptc表示采用哪种协议。

Checksum函数和IP一样,都是计算校验和求反。

参考引用:
https://blog.csdn.net/jiangqin115/article/details/39315085
https://blog.csdn.net/wangshiqilin_fjy/article/details/7889316
https://blog.csdn.net/zhangskd/article/details/11770647

赞赏

微信赞赏支付宝赞赏

发表评论

邮箱地址不会被公开。 必填项已用*标注