当前位置:网站首页 > Haskell函数式编程 > 正文

icmp报文格式(icmp报文格式图)



一:ICMP介绍

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

二:ICMP报文介绍

ICMP报文是在IP数据报内部被传输的。

ICMP头部8个字节。

ICMP有两种查询报文,一种是查询报文一种是差错报告报文,ICMP常见报文代码如下:

【考点解析】常见ICMP类型0,3,8,11这几类常考。

:ping与tracert解析

ping和Tracert是ICMP协议的具体应用。

ping原理

  1. 在源端(DeviceA)执行Ping操作,向指定的目的地址发送一定数量的ICMP Echo Request报文,每发送一个ICMP Echo报文,报文序号加1(从1开始增加),一次Ping操作发送ICMP Echo报文的数量可以设置,缺省情况发送5个。报文发出后,源端启动超时定时器,等待接收目的端(DeviceB)发送的响应报文。
  2. 目的端收到ICMP Echo报文后,会对应发送相同序号的ICMP Echo Reply报文。

抓包解析:

发送Type=8,Code=0的请求

目的节点回复Type=0,Code=0

tracert原理:

  1. 在源端(DeviceA)执行Tracert操作,向目的端(DeviceE)发送TTL字段值为1的UDP数据报文(缺省情况发送3个)。第一个报文默认将33434号端口作为目的端设备的接收报文端口,后面报文依次加1。
  2. 第一跳设备(DeviceB)收到源端发送的UDP数据报文后,由于报文的TTL减为0,所以向源端发送3个ICMP超时报文。
  3. 源端收到第一跳设备回复的ICMP超时报文,则可以判断第一跳可达,同时获得源端与第一跳设备间的时延(即发送报文与接收报文的时间差)。
  4. 源端继续向目的端发送3个TTL字段值为2的UDP数据报文,第二跳设备收到后也向源端发送ICMP超时报文。
  5. 后续源端继续发送UDP数据报文,每次发送的报文TTL字段值加1,从而获取逐跳响应。
  6. 直到目的端收到源端发送的UDP数据报文,但因目的端口不可用,所以目的端会向源端发送3个ICMP端口不可达报文,表示目的端口不可达。

tracert原理图

tracert抓包分析:

tracert结果

第一跳TTL=1,源端发送3个UDP报文(默认是3个 注意返回结果有3个延时):

默认UDP目的端口33434

IP报文中TTL=1

第一跳返回结果type=11,code=0

第二跳TTL变为2

目的节点返回type=3,code=3端口不可达报文

Linux/Unix下:源端发的是UDP报文,中间节点返回的是TTL超时报文(Type=11,Code=0),目的端返回的是ICMP端口不可达(Type=3,Code=3)。

Windows下:源端发的是ICMP报文,echo request(Type=8,Code=0),目的返回的是TTL超时报文(Type=11,Code=0),目的节点返回的是TTL超时报文(Type=11,Code=0)。

可以看到windows的tracert请求是Type=0,Code=0报文。

中间节点返回的类型是Type=11,Code=0.

PS:其中路由器交换机发送的tracert是基于Linux方式,实际在windows系统下抓包目的节点返回的是Type=0,Code=0的报文,考试就选Type=11,Code=0。

【考点解析】ping和tracert使用的ICMP类型。

四:真题解析

2023年11月网络规划设计师

tracert探测分组利用了()类型的ICMP消息,而中间路由器或目标主机返回的分组里利用了( )类型的ICMP消息。

第一问选项:

A.Type=3,Code=7

B.Type=11,Code=0

C.Type=0,Code=0

D.Type=8,Code=0

第二问选项:

A.Type=3,Code=7

B.Type=11,Code=0

C.Type=0,Code=0

D.Type=8,Code=0

【解析】答案是D、B。首先了解tracert在windows和linux下发送和目的返回的值不同。看题目说的是中间路由器或目的主机返回分组,说明目的主机和中间路由器返回值一致,是基于windows下的tracert。发送采用Type=8,Code=0的ICMP Request报文,中间和目的返回TTL超时报文,Type=11,Code=0。

2021年11月网络规划设计师:

traceroute在进行路由追踪时发出的ICMP消息是(),收到的消息是中间节点或目的节点返回的()

第一问选项:

A.Echo Request

B.Timestamp Request

C.Echo Reply

D.Timestamp Reply

第二问选项:

A.Destination Unreachable

B.TTL Exceeded

C.Parameter Problem

D.Source Route Failed

【解析】答案是A、B。与2023年11月网规考的一致,只不是一个考类型英文一个考Type和Code具体值。

到此这篇icmp报文格式(icmp报文格式图)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 动态库(动态库的两种调用方式)2026-05-01 19:45:08
  • pivot函数excel(pivot函数中哪个不能省略)2026-05-01 19:45:08
  • 软件后缀名怎么改(软件改后缀名改格式)2026-05-01 19:45:08
  • 软件卸载快捷方式(软件卸载快捷方式是什么)2026-05-01 19:45:08
  • modbus RTU报文格式(modbus报文格式和4x的关系)2026-05-01 19:45:08
  • 一级这「34个万能满分标题模板」,可以承包三年的所有作文题目,直接套!二级这「34个万能满分标题模板」,可以承包三年的所有作文题目,直接套!格式范文(一级这「34个万能满分标题模板」,可以承包三年的所有作文题目,直接套!二级这「34个万能满分标题模板」,可以承包三年的所有作文题目,直接套!示范)2026-05-01 19:45:08
  • redis的哨兵模式+spring整合(redistemplate 哨兵)2026-05-01 19:45:08
  • 单片机编程实例大全(单片机编程入门视频教程)2026-05-01 19:45:08
  • pcap 格式(pcap格式文件)2026-05-01 19:45:08
  • 一级以上内容的标题可以是“Markdown文件格式规范示例”。这个标题简洁明了地概括了内容的主要目的,即二级以上内容的标题可以是“Markdown文件格式规范示例”。这个标题简洁明了地概括了内容的主要目的,即三级以上内容的标题可以是“Markdown文件格式规范示例”。这个标题简洁明了地概括了内容的主要目的,即是什么意思四级以上内容的标题可以是“Markdown文件格式规范示例2026-05-01 19:45:08
  • 全屏图片