实验4-Wireshark分析ICMP

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验4Wireshark分析ICMP

一、实验目的

掌握Wireshark软件监控设置与使用方法

分析ICMP的基本原理

二、实验环境

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

三、实验步骤

Ping和traceroute命令都依赖于ICMP。ICMP可以看作是IP协议的伴随协议。ICMP报文被封装在IP数据报发送。

一些ICMP报文会请求信息。例如:在ping中,一个ICMP回应请求报文被发送给远程主机。如果对方主机存在,期望它们返回一个ICMP回应应答报文。

一些ICMP报文在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。造成不可达的原因很多,ICMP报文试图确定这一问题。例如,可能是主机关及或整个网络连接断开。

有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它指明了什么协议应该处理IP数据报中的数据部分。IANA公布了代表协议的数字的列表。例如,如果该字段是6,代表TCP报文段,IP层就会把数据传给TCP层进行处理;如果该字段是1,则代表ICMP报文,IP层会将该数据传给ICMP处理。如果操作系统不支持到达数据报中协议字段的协议号,它将返回一个指明“协议不可达”的ICMP报文。IANA同样公布了ICMP报文类型的清单。

Traceroute是基于ICMP的灵活用法和IP首部的生存时间字段的。发送数据报时生存时间字段被初始化为能够穿越网络的最大跳数。每经过一个中间节点,该数字减1。当该字段为0时,保存该数据报的机器将不再转发它。相反,它将向源IP地址发送一个ICMP生存时间超时报文。

生存时间字段用于避免数据报载网络上无休止地传输下去。数据报的发送路径是由中间路由器决定的。通过与其他路由器交换信息,路由器决定数据报的下

一条路经。最好的“下一跳”经常由于网络环境的变化而动态改变。这可能导致路由器形成选路循环也会导致正确路径冲突。在路由循环中这种情况很可能发生。例如,路由器A认为数据报应该发送到路由器B,而路由器B又认为该数据报应该发送会路由器A,这是数据报便处于选路循环中。

生存时间字段长为8位,所以因特网路径的最大长度为28-1即255跳。大多数源主机将该值初始化为更小的值(如128或64)。将生存时间字段设置过小可能会使数据报不能到达远程目的主机,而设置过大又可能导致处于无限循环的选路中。

Traceroute利用生存时间字段来映射因特网路径上的中间节点。为了让中间节点发送ICMP生存时间超时报文,从而暴露节点本身信息,可故意将生存时间字段设置为一个很小的数。具体来说,首先发送一个生存时间字段为1的数据报,收到ICMP超时报文,然后通过发送生存时间字段设置为2的数据报来重复上述过程,直到发送ICMP生存时间超时报文的机器是目的主机自身为止。

因为在分组交换网络中每个数据报时独立的,所以由traceroute发送的每个数据报的传送路径实际上互不相同。认识到这一点很重要。每个数据报沿着一条路经对中间节点进行取样,因此traceroute可能暗示一条主机间并不存在的连接。因特网路径经常变动。在不同的日子或一天的不同时间对同一个目的主机执行几次traceroute命令来探寻这种变动都会得到不同的结果。

1、ping和ICMP

利用Ping程序产生ICMP分组。Ping向因特网中的某个特定主机发送特殊的探测报文并等待表明主机在线的回复。具体做法:

(1)打开Windows命令提示符窗口(Windows Command Prompt)。

(2)启动Wireshark分组嗅探器,在过滤显示窗口(filter display window)中输入icmp,开始Wireshark分组俘获。

(3)输入“ping–n10hostname”。其中“-n10”指明应返回10条ping信息。

(4)当ping程序终止时,停止Wireshark分组俘获。

实验结束后会出现如图所示的命令窗口:

图4.1命令窗口

停止分组俘获后,会出现如图4.2所示的界面:

图4.2停止分组俘获后Wireshark的界面

图4.3是在分组内容窗口中显示了ICMP协议的详细信息。观察这个ICMP分组,可以看出,此ICMP分组的Type8and Code0即所谓的ICMP“echo request”分组。

图4.3ICMP协议详细信息

在实验报告中回答下面问题:

(1)你所在主机的IP地址是多少?目的主机的IP地址是多少?

主机:172.20.128.62

目的:112.80.248.73

(2)查看ping请求分组,ICMP的type和code是多少?这个ICMP包包含了哪些其他的字段?Checksum、sequence number和identifier字段的值各为多少?

(3)查看相应得ICMP响应信息,ICMP的type和code又是多少?这个ICMP 包包含了哪些其他的字段?Checksum、sequence number和identifier字段的值各为多少?

2.ICMP和Traceroute

在Wireshark下,用Traceroute程序俘获ICMP分组。Traceroute能够映射出通往特定的因特网主机途径的所有中间主机。

源端发送一串ICMP分组到目的端。发送的第一个分组时,TTL=1;发送第二个分组时,TTL=2,依次类推。路由器把经过它的每一个分组TTL字段值减1。当一个分组到达了路由器时的TTL字段为1时,路由器会发送一个ICMP错误分组(ICMP error packet)给源端。

(1)启动Window命令提示符窗口

(2)启动Wireshark分组嗅探器,开始分组俘获。

(3)Tracert命令在c:\windows\system32下,所以在MS-DOS命令提示行或者输入“tracert hostname”or“c:\windows\system32\tracert hostname”(注意在Windows下,命令是“tracert”而不是“traceroute”。)如图4所示:(4)当Traceroute程序终止时,停止分组俘获。

相关文档
最新文档