概述
wireshark抓包(ping包)
IP包-protocol:ICMP(1)
ICMP包
ICMP作用:
网络连通性检测:ICMP提供了Ping命令,用于测试主机之间的网络连通性,如果主机之间的网络连通性正常,则会返回Echo Reply消息。
网络不可达检测:ICMP提供了Destination Unreachable消息,用于报告目的地不可达的原因,如网络不存在或者被禁止访问。
路由重定向:ICMP提供了Redirect消息,用于告知主机应该更改其路由表以获得更佳的路径。
超时检测:ICMP提供了Time Exceeded消息,用于报告数据包在传输过程中超时
ICMP协议格式
字段名称 | 描述 | 大小 |
Type | 用于标识ICMP消息的类型,如Echo Request、Echo Reply、Destination Unreachable、Redirect等。 | 8 bits |
Code | 用于更详细地描述ICMP消息的类型。 | 8 bits |
Checksum | 用于校验ICMP消息的完整性。 | 16 bits |
Identifier | 用于标识ICMP消息的发送者。 | 16 bits |
Sequence Number | 用于标识ICMP消息包的顺序。 | 16 bits |
Data | 用于存储ICMP消息的附加数据。 | 可变 |
Identifier(标识符)
ICMP字段Identifier(标识符)的作用是标识ICMP消息的发送者。当一个主机发送ICMP消息时,它会在消息中填充一个标识符,接收端收到消息后,会检查标识符是否正确。这样可以防止接收端误认为其他主机发送的消息是自己发送的。
标识符的作用主要体现在Ping命令上,当发送Ping命令时,发送端会在ICMP消息中填充标识符,接收端收到消息后,会返回一个Echo Reply消息,并在消息中填充与发送端相同的标识符。这样发送端就可以确定Echo Reply消息是属于自己发送的Ping命令的响应。
Checksum(校验)
ICMP的Checksum字段原理是使用校验和算法来确保ICMP消息在传输过程中的完整性。校验和算法是一种数据校验技术,可以检测数据在传输过程中是否被修改或者损坏。
具体实现方式是将ICMP消息中的所有字段进行二进制编码,将所有字段的二进制编码进行异或运算得到校验和。最后将得到的校验和填充在Checksum字段中。
在接收端收到消息后,对ICMP消息中的所有字段进行二进制编码,并进行异或运算得到校验和。接下来将得到的校验和与Checksum字段中的值进行比较。如果两者相同,说明ICMP消息在传输过程中没有被修改或者损坏,接收端就可以确定消息的完整性。
IP协议与ICMP协议关系
ICMP协议和IP协议是网络协议栈中的两种不同协议,它们之间有着紧密的关系。
ICMP协议是Internet Control Message Protocol的缩写,是IP协议的一个子协议。ICMP协议负责在网络上传输控制消息,如网络连通性检测、网络不可达检测、路由重定向、超时检测等。
IP协议则是Internet Protocol的缩写,是网络协议栈中最底层的协议。IP协议负责在网络上传输数据包,如确定数据包的目的地、路由选择等。
ICMP协议和IP协议之间的关系是,ICMP协议是在IP协议之上运行的,它是IP协议的子协议,用于在IP协议的基础上实现网络管
最后
以上就是内向香菇为你收集整理的ICMP(协议)wireshark抓包(ping包)ICMP作用:ICMP协议格式IP协议与ICMP协议关系的全部内容,希望文章能够帮你解决ICMP(协议)wireshark抓包(ping包)ICMP作用:ICMP协议格式IP协议与ICMP协议关系所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复