ICMP协议介绍
1、ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。
它是TCP/IP协议族的一个子协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息尽管并不传输用户数据。可是对于用户数据的传递起着关键的数据。
2、ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。
3、ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。
利用ping 程序分析一个ICMP协议交互过程
CMD下运行 ping www.baidu.com
过滤仅仅显示ICMP协议
能够看到windows下ping默认运行4次ping程序,wireshark抓到8个ICMP查询报文,详细看一次请求和应答过程
首先先看一个包的格式,由下图可知。报文由IP首部和ICMP报文组成,先看下IP包的首部和大小
红色框中蓝色为IP首部,共同拥有20字节
下图为红色框中的蓝色为ICMP报文,共同拥有40个字节
ICMP报文的详细格式
由此能够看到刚才的截图
Type:8
Code:0
Checksum:0x4c90
通过查询ICMP报文类型可知,Type为8的包为 回射请求(Ping请求)
使用同样的方法。查看Echo (ping) reply包,得到type类型为0
通过查询ICMP报文类型可知。Type为0的包为 回射应答(Ping应答)
详细例如以下图