作为家庭作业的一部分,我必须在Linux中编写一个C程序,该程序使用原始套接字生成对ICMP Echo请求的ICMP回复。 ICMP数据包中的数据是否也必须包含在校验和中?或者我应该只计算头的校验和?ICMP头校验和是否也包含数据?
2
A
回答
9
它必须从HEADER + DATA计算。执行计算时,让校验和为零,然后将其替换。
从RFC 792报价页面14(回声或回应应答消息):
校验和是16位的人的开始与所述ICMP类型ICMP消息中的所述一个的 补体总和的补体。 为了计算校验和,校验和字段应该为零。 如果总长度为奇数,则接收到的数据将填充一个 八位字节以计算校验和。这个校验和可能在将来被替换为 。
+0
参考请 – 2011-02-06 01:01:48
相关问题
- 1. ICMP头和IP头校验和计算
- 2. 在ICMP头校验和计算中?
- 3. MSI是否包含校验和?
- 4. ICMP指针和校验和
- 5. ICMP校验和不正确
- 6. ICMP校验和错误
- 7. ICMP回显校验和
- 8. ICMP校验和卸载
- 9. 在adler校验和计算中是否应包含zlib Type0标题数据?
- 10. 检查Wireshark的文件是否含有错误校验和数据包
- 11. TCP数据包的MTU是否包含TCP和IPv4标头?
- 12. IPV4头校验和验证
- 13. 是否有一个校验和算法也支持“减量”数据?
- 14. 当UDP包头校验和不正确时,UDP包是否被丢弃?
- 15. 包含之前的PHP校验和()
- 16. mongod Configserver是否也包含数据(元数据除外)?
- 17. TCP报头和校验和
- 18. IP标头校验和:0x0000
- 19. PdfSharp.SharpZipLib.SharpZipBaseException - 头校验和非法
- 20. 包密钥和校验和
- 21. 奇偶校验是否包含RS-232上的开始位和停止位?
- 22. 是否有可能在休眠住校验数据和
- 23. C捕获ICMP数据包
- 24. ICMP回复数据包
- 25. 计算列校验和是否存在?
- 26. C:如果源IP头更改,TCP头校验和也会更改
- 27. 验证IP标头和TCP标头的校验和
- 28. 头不包含POST数据
- 29. 验证newData是否包含Firebase数据库规则的数组
- 30. 根据数据扭转校验和
因为问题中没有C代码,所以删除`c`标记并添加`networking`标记。 =) – mpontillo 2011-02-06 02:59:47