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

icmp报文格式(icmp报文格式图)p strong 一 ICMP 介绍 strong p ICMP Internet Control Message Protocol Internet 控制报文协议 它是 TCP IP 协议簇的一个子协议 用于在 IP 主机 路由器之间传递控制消息 二

大家好,我是讯享网,很高兴认识大家。



 <p><strong>一&#xff1a;ICMP介绍</strong></p> 

讯享网

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具体值。

小讯
上一篇 2025-05-13 12:08
下一篇 2025-05-26 11:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/174576.html