[英]Does the ICMP Header Checksum include the data as well?
作为家庭作业的一部分,我必须在Linux中编写一个C程序,使用原始套接字生成ICMP回复ICMP Echo请求。 ICMP数据包中的数据是否也必须包含在校验和中? 或者我应该只计算标题的校验和?
必须从HEADER + DATA计算。 执行计算时,将校验和设为零,然后将其替换。
引用RFC 792中的第14页(Echo或Echo Reply Message):
校验和是从ICMP类型开始的ICMP消息的一个补码和的16位补码。 为了计算校验和,校验和字段应为零。 如果总长度是奇数,则用一个零的零填充接收的数据以计算校验和。 此校验和可能在将来被替换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.