Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在ICMP报头校验和计算中?_C++_C_Networking_Packet_Icmp - Fatal编程技术网

C++ 在ICMP报头校验和计算中?

C++ 在ICMP报头校验和计算中?,c++,c,networking,packet,icmp,C++,C,Networking,Packet,Icmp,在ICMP标头中,他们用以下语句填充校验和 我发现ICMP_回显值为8 icmp->checksum = htons(~(ICMP_ECHO << 8)); icmp->checksum=htons(~(icmp\u ECHO校验和是: (1) 要校验和的相邻八位字节成对形成16位 整数,这16位整数的1的补码和是 形成 (2) 要生成校验和,将清除校验和字段本身, 16位1的补码和通过八位字节计算 相关的,并且该总和的1的补码放在 校验和字段 对于ICMP_回显消息(类型

在ICMP标头中,他们用以下语句填充校验和

我发现ICMP_回显值为8

 icmp->checksum = htons(~(ICMP_ECHO << 8));
icmp->checksum=htons(~(icmp\u ECHO校验和是:

(1) 要校验和的相邻八位字节成对形成16位 整数,这16位整数的1的补码和是 形成

(2) 要生成校验和,将清除校验和字段本身, 16位1的补码和通过八位字节计算 相关的,并且该总和的1的补码放在 校验和字段

对于ICMP_回显消息(类型8,代码0),类型和代码字段应为
0x08 0x00
,如果这是消息包含的所有数据,则这也是应构成校验和的16位整数之和