ICMP与PING解析

一、ICMP格式

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。linux

ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。因此ICMP有一个IP层的头,Protocol=1,ICMP协议。测试

 二、ICMP测试

进行测试:TYPE=8,CODE=0, echo test.code

 

抓包分析:上面进行了4次ping,因此数据包是8个,一来一回4组ICMP数据包。blog

对应IP包的格式,进行对应分解。IP包的数据部分,就是ICMP包的起始。ip

 

发送的包,ICMP部分,type=8,code=0,request,序号37/9472.
32bit的ICMP就是Header部分,下面是Identifier 1和256,这个字段是为了标记序号,匹配接收到的响应和发送包。
在linux里面每次都是惟一的值,而且自增,用来标记每次的发送和接收包。在Windows里面,是固定值。
  

响应的包,ICMP部分,type=0,code=0,Echo reply,是request answer,序号37/9472.路由

 

 三、ICMP 类型表

https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messagesget

 

 

 

相关文章
相关标签/搜索