W ireshark 可以跟踪网络协议的通讯过程,本节通过 ICMP 协议,在了解 Wireshark 使用的基础上,重温 ICMP 协议的通讯过程。
ICMP ( Internet Control Message Protocol ) Internet 控制 报文 协议 , 用于在IP 主机 、 路由器 之间传递控制消息。控制消息是指网络通不通、 主机 是否可达、 路由 是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、 ARP 协议、 RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。
在 Wireshark 界面,我们可以看到 529 、 531 号数据包,就是一对标准的 I CMP 请求和响应包。
打开 ICMP 请求 数据包 报文 ,
打开 ICMP 响应数据包 报文 ,
通过分析可知,
1. ICMP 协议尽管并不传输数据内容,仍然归于网络层,但是基于 ip 协议。
2. 主机发送一个 ICMP Echo Request 的包 ,接受方在可正常响应的情况下,返回一个 ICMP Echo Reply 。
3. 两个数据包都包 含了 相同的数据内容 指令 。
4. ICMP 请求数据包的数据类型是 0 ,正常响应的数据包类型是 8 。
ICMP 大概分为两类报文:一类是通知出错原因 ;一类是用于诊断查询 。
类型及含义如下 表 :