1. ICMP简介
ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。主要目的是为了提高 IP 数据报交付成功的机会。
2. 数据包分析
0000 04 f9 38 b8 31 5d 00 21 86 29 c5 aa 08 00 45 00
0010 00 3c 41 88 00 00 40 01 00 00 0a 0a 0c a3 0a 0a
0020 02 58 08 00 4d 5a 00 01 00 01 61 62 63 64 65 66
0030 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76
0040 77 61 62 63 64 65 66 67 68 69
这是本系列中《协议-网络层-IPv4》使用的数据包,对于ipv4包头的分析在这儿略过,主要分析ICMP部分,也就是IPv4数据包的数据部分:
0020 -- -- 08 00 4d 5a 00 01 00 01 61 62 63 64 65 66
0030 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76
0040 77 61 62 63 64 65 66 67 68 69
type
一个 8 位类型字段,表示 ICMP 数据包类型,ICMP 报文大致可分为两类:差错报文、查询报文。其中可能的类型编号及解释如下:code,代码,共8位。
type和code联合表达的相关解释如下:
后面的内容不同的ICMP类型会有不同的结构。