IP首部校验和计算
来源:互联网 发布:sql注入入侵网站 编辑:程序博客网 时间:2024/05/29 08:49
计算方法在RFC1071有详细说明。
计算步骤:
1.首先将IP包头校验和字段置0
2.然后将整个IP包头每16bit 相加(相加结果如果有进位,则需将进位加到最低位,RFC1071有相关介绍)
3.最后将相加的结果取反即可
unsigned short checksum(int nCount,unsigned short * addr){ long sum = 0; while(nCount > 1) { sum += *addr++; nCount -= sizeof(unsigned short); } if(nCount > 0) { sum += *(unsigned char*)addr; } while(sum >> 16) { sum = (sum & 0xFFFF) + (sum >> 16); } return (unsigned short)(~sum);}int main(int argc,char * argv[]){ unsigned char IpHeader[] = "\xa1\x00\x00\x45\x00\x00\x21\x2c\x00\x00\x11\x01\x2f\x0a\x1e\xac\xfa\xff\xff\xef"; //抓包示例,此包的检验和是0xe6e3 printf("0x%0x\n",checksum(sizeof(IpHeader)-1,(unsigned short *)IpHeader)); //注意后面的'\0'}
0 0
- ip首部校验和计算
- 计算ip首部校验和
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- ip首部校验和计算
- IP首部校验和计算
- IP首部校验和的计算
- IP首部校验和计算原理
- 关于IP首部校验和计算的解答
- IP首部校验和计算及1的补码
- IP首部的校验和字段是怎么计算的?
- IP首部校验和算法
- IP首部校验和算法
- 计算IP首部检验和
- 输入字符串和输出字符串的方法
- httpsclient 报错 timeout waiting for connection from pool
- NOIPTGA组T3 Mahjong
- linux文件共享
- Android VideoPlayer
- IP首部校验和计算
- 【15】python 列表补充+orientdb更新属性值
- Windows命令行设置永久环境变量
- 【codevs 3500】快速幂
- 告诉孩子:远离那些勤奋,但不动脑子的人
- Elasticsearch 中文分词器 IK 配置和使用
- 数据库设计文档编写模板
- OneNote 开发与使用
- leetcode解题报告:213. House Robber II