实验:利用Wireshark分析ICMP协议

文章描述:-2022年4月14日发(作者:韩喜凯).实验利用Wireshark分析ICMP协议一、实验目的分析ICMP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、协议简介ICMP全称InternetControlMessageProtocol,中文名为因特网控制报文协议。它工作在OSI的网络层,向数据通讯中的源主机报告错误。ICMP可以实现故障隔

-

实验:利用Wireshark分析ICMP协议
2022年4月14日发
(作者:韩喜凯)

.

实验利用Wireshark分析ICMP协议

一、实验目的

分析ICMP协议

二、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。

三、协议简介

ICMP全称InternetControlMessageProtocol,中文名为因特网控制报文协议。它工作在OSI的

网络层,向数据通讯中的源主机报告错误。ICMP可以实现故障隔离和故障恢复。

网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层

的IP协议是一个无连接的协议,它不会处理网络层传输中的故障,而位于网络层的ICMP协议却恰

好弥补了IP的缺限,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错

误信息反馈。

ICMP的报头长8字节,结构如图1所示。比特0781516比特31

类型(0或8)代码(0)

为使用

数据

(图1ICMP报头结构)

类型:标识生成的错误报文,它是ICMP报文中的第一个字段;

代码:进一步地限定生成ICMP报文。该字段用来查产生错误的原因;

校验和:存储了ICMP所使用的校验和值。

未使用:保留字段,供将来使用,起值设为0

数据:包含了所有接受到的数据报的IP报头。还包含IP数据报中前8个字节的数据;

检验和

ICMP协议提供的诊断报文类型如表1所示。

类型

0

3

4

5

8

.

描述

回应应答(Ping应答,与类型8的Ping请求一起使用)

目的不可达

源消亡

重定向

回应请求(Ping请求,与类型8的Ping应答一起使用)

.

9

10

11

12

13

14

15

16

17

18

路由器公告(与类型10一起使用)

路由器请求(与类型9一起使用)

超时

参数问题

时标请求(与类型14一起使用)

时标应答(与类型13一起使用)

信息请求(与类型16一起使用)

信息应答(与类型15一起使用)

地址掩码请求(与类型18一起使用)

地址掩码应答(与类型17一起使用)

(表1ICMP诊断报文类型)

ICMP提供多种类型的消息为源端节点提供网络层的故障信息反馈,它的报文类型可以归纳为以下5

个大类:

诊断报文(类型8,代码0;类型0,代码0);

目的不可达报文(类型3,代码0-15);

重定向报文(类型5,代码0-4);

超时报文(类型11,代码0-1);

信息报文(类型12-18)。

Ping命令只有在安装了TCP/IP协议之后才可以使用,其命令格式如下:

ping[-t][-a][-ncount][-lsize][-f][-iTTL][-vTOS][-rcount][-scount]

[[-jhost-list]|[-khost-list]][-wtimeout]target_name

这里对实验中可能用到的参数解释如下:

-t:用户所在主机不断向目标主机发送回送请求报文,直到用户中断;

-ncount:指定要Ping多少次,具体次数由后面的count来指定,缺省值为4;

-lsize:指定发送到目标主机的数据包的大小,默认为32字节,最大值是65,527;

-wtimeout:指定超时间隔,单位为毫秒;

target_name:指定要ping的远程计算机。

Ping和traceroute命令都依赖于ICMP。ICMP可以看作是IP协议的伴随协议。ICMP报

文被封装在IP数据报发送。

一些ICMP报文会请求信息。例如:在ping中,一个ICMP回应请求报文被发送给远程

主机。如果对方主机存在,期望它们返回一个ICMP回应应答报文。

一些ICMP报文在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。

造成不可达的原因很多,ICMP报文试图确定这一问题。例如,可能是主机关及或整个网

络连接断开。

.

.

有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它

指明了什么协议应该处理IP数据报中的数据部分。IAA公布了代表协议的数字的列表。

例如,如果该字段是6,代表TCP报文段,IP层就会把数据传给TCP层进行处理;如果

该字段是1,则代表ICMP报文,IP层会将该数据传给ICMP处理。如果操作系统不支持

到达数据报中协议字段的协议号,它将返回一个指明“协议不可达”的ICMP报文。IAA

同样公布了ICMP报文类型的清单。

Traceroute是基于ICMP的灵活用法和IP首部的生存时间字段的。发送数据报时生存时

间字段被初始化为能够穿越网络的最大跳数。每经过一个中间节点,该数字减1。当该

字段为0时,保存该数据报的机器将不再转发它。相反,它将向源IP地址发送一个ICMP

生存时间超时报文。

生存时间字段用于避免数据报载网络上无休止地传输下去。数据报的发送路径是由中间

路由器决定的。通过与其他路由器交换信息,路由器决定数据报的下一条路经。最好的

“下一跳”经常由于网络环境的变化而动态改变。这可能导致路由器形成选路循环也会

导致正确路径冲突。在路由循环中这种情况很可能发生。例如,路由器A认为数据报应

该发送到路由器B,而路由器B又认为该数据报应该发送会路由器A,这是数据报便处

于选路循环中。

生存时间字段长为8位,所以因特网路径的最大长度为2

8

-1即255跳。大多数源主机

将该值初始化为更小的值(如128或64)。将生存时间字段设置过小可能会使数据报不

能到达远程目的主机,而设置过大又可能导致处于无限循环的选路中。

Traceroute利用生存时间字段来映射因特网路径上的中间节点。为了让中间节点发送

ICMP生存时间超时报文,从而暴露节点本身信息,可故意将生存时间字段设置为一个很

小的书。具体来说,首先发送一个生存时间字段为1的数据报,收到ICMP超时报文,

.

.

然后通过发送生存时间字段设置为2的数据报来重复上述过程,直到发送ICMP生存时

间超时报文的机器是目的主机自身为止。

因为在分组交换网络中每个数据报时独立的,所以由traceroute发送的每个数据报的

传送路径实际上互不相同。认识到这一点很重要。每个数据报沿着一条路经对中间节点

进行取样,因此traceroute可能暗示一条主机间并不存在的连接。因特网路径经常变

动。在不同的日子或一天的不同时间对同一个目的主机执行几次traceroute命令来探

寻这种变动都会得到不同的结果。

为了体现Internet路由的有限可见性,许多网络都维护了一个traceroute服务器

traceroute。Traceroute服务器将显示出从本地网到一个特定目的地执行traceroute

的结果。分布于全球的traceroute服务器的相关信息可在

上获得。

四、实验步骤

1、ICMP协议分析

步骤1:分别在PC1和PC2上运行Wireshark,开始截获报文,为了只截获和实验内容有

关的报文,将Wireshark的CaptrueFilter设置为“oBroadcastandnoMulticast”;

步骤2:在PC1以PC2为目标主机,在命令行窗口执行Ping命令,要求ping通10次;

Ping命令为:_____________________________________________________

将命令行窗口进行截图:

步骤3:停止截获报文,分析截获的结果,回答下列问题:

1)将抓包结果进行截图(要求只显示ping的数据包):

2)截获的ICMP报文有几种类型?分别是:

___________________________________________________________________________

_______________________________________________________________________________

3)分析截获的ICMP报文,查看表5.1中要求的字段值,填入表中。只需要填写6个报文信息。

表5.1ICMP报文分析

报文号

.

源IP

目的IP

类型

报文格式

代码

标识

序列号

.

4)查看ping请求分组,ICMP的type是和code是并截图替

换下图

5)查看相应得ICMP响应信息,ICMP的type是和code是并截

图替换下图

6)若要只显示ICMP的echo响应数据包,显示过滤器的规则为

并根据过滤规则进行抓包截图

7)若要只显示ICMP的echo请求数据包,显示过滤器的规则为

并根据过滤规则进行抓包截图

.

.

和Traceroute

在Wireshark下,用Traceroute程序俘获ICMP分组。Traceroute能够映射出通往特

定的因特网主机途径的所有中间主机。

源端发送一串ICMP分组到目的端。发送的第一个分组时,TTL=1;发送第二个分组

时,TTL=2,依次类推。路由器把经过它的每一个分组TTL字段值减1。当一个分组到达

了路由器时的TTL字段为1时,路由器会发送一个ICMP错误分组(ICMPerrorpacket)

给源端。

步骤4:在PC1上运行Wireshark开始截获报文;

步骤5:在PC1上执行Tracert命令,如:;将命令窗口进行截图。

图4:命令提示窗口显示Traceroute程序结果(替换截图)

设置显示过滤器为icmp,图5显示的是一个路由器返回的ICMP

超时报告

分组(ICMP

errorpacket)。注意到ICMP

超时报告

分组中包括的信息比PingICMP中

超时报告

分组包

含的信息多。

.

.

图5:一个扩展ICMP超时报告分组信息的Wireshark窗口(替换截图)

步骤6:停止截获报文,分析截获的报文,回答下列问题:

1)截获了报文中哪几种ICMP报文?其类型码和代码各为多少?

ICMP报文类型

类型码(type)

代码(code)

2)在截获的报文中,超时报告报文的源地址分别是多少?

___________________________________________________________________________

_______________________________________________________________________________

_______________________________________________________________________________

3)查看ICMPecho分组,是否这个分组和前面使用ping命令的ICMPecho一样?对

于TTL值有什么变化规律。

_______________________________________________________________________________

_______________________________________________________________________________

.

.

4)

查看ICMP

超时报告

分组,它比ICMPecho分组包括的信息多。对照ICMP协议,分析一

下ICMP

超时报告

分组比ICMPecho分组多包含的信息有哪些?

_______________________________________________________________________________

_______________________________________________________________________________

5)对于ICMP

超时报告

分组,出与命令提示窗口截图中的第二跳路由器的接口IP地址

为,在

Wireshark抓包图中截图与

第二跳路由器的接口IP地址对应的部

分并截图。

6)同理,出第四跳路由器的接口IP地址为,在

Wireshark抓包图中

截图与

第二跳路由器的接口IP地址对应的部分并截图。

举例如下,命令提示窗口截图:

其中,第二跳路由器的接口IP地址为10.0.10.22,在

Wireshark

抓包图中截图与

第二跳路由器的接口IP地址对应的部分并截图如下。

.

.

.

-

实验:利用Wireshark分析ICMP协议

发布时间:2022-04-14 11:50:28
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 5 条评论,724人围观)
progressbarV铁粉9 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
______________________________________________________________________________________________________________________________________________________________..4)查看ICMP超时报告分组
绍兴文理V铁粉6 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
ICMP报文被封装在IP数据报发送
葡萄牙灵异车祸事件V铁粉29 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
步骤4:在PC1上运行Wireshark开始截获报文;步骤5:在PC1上执行Tracert命令
弱精症V铁粉26 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
代码0);目的不可达报文(类型3

最近发表

随便看看

热门文章

标签列表