计算机网络实验Wireshark.docx

上传人:b****6 文档编号:7154764 上传时间:2023-01-21 格式:DOCX 页数:41 大小:1.40MB
下载 相关 举报
计算机网络实验Wireshark.docx_第1页
第1页 / 共41页
计算机网络实验Wireshark.docx_第2页
第2页 / 共41页
计算机网络实验Wireshark.docx_第3页
第3页 / 共41页
计算机网络实验Wireshark.docx_第4页
第4页 / 共41页
计算机网络实验Wireshark.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

计算机网络实验Wireshark.docx

《计算机网络实验Wireshark.docx》由会员分享,可在线阅读,更多相关《计算机网络实验Wireshark.docx(41页珍藏版)》请在冰豆网上搜索。

计算机网络实验Wireshark.docx

计算机网络实验Wireshark

计算机网络实验指导书

实验一Wireshark的安装与使用

一、实验目的

1、熟悉并掌握Wireshark的根本使用;

2、了解网络协议实体间进行交互以及报文交换的情况。

二、实验环境

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

三、预备知识

要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作及其影响。

这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。

观察正在运行的协议实体间交换报文的根本工具被称为分组嗅探器〔packetsniffer〕,又称分组捕获器。

顾名思义,分组嗅探器捕获〔嗅探〕你的计算机发送和接收的报文。

图1显示了一个分组嗅探器的结构。

图1

图1右边是计算机上正常运行的协议和应用程序〔如:

Web浏览器和FTP客户端〕。

分组嗅探器〔虚线框中的局部〕主要有两局部组成:

第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成局部是分组分析器,其作用是分析并显示协议报文所有字段的内容〔它能识别目前使用的各种网络协议〕。

Wireshark是一种可以运行在Windows,UNIX,Linux等操作系统上的分组嗅探器,是一个开源免费软件,可以从下载。

运行Wireshark程序时,其图形用户界面如图2所示。

最初,各窗口中并无数据显示。

Wireshark的界面主要有五个组成局部:

命令和菜单

协议筛选框

捕获分组

列表

选定分组

首部明细

分组内容

左:

十六进制

右:

ASCII码

图2

●命令菜单〔commandmenus〕:

命令菜单位于窗口的最顶部,是标准的下拉式菜单。

●协议筛选框〔displayfilterspecification〕:

在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。

●捕获分组列表〔listingofcapturedpackets〕:

按行显示已被捕获的分组内容,其中包括:

分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。

单击某一列的列名,可以使分组列表按指定列排序。

其中,协议类型是发送或接收分组的最高层协议的类型。

●分组首部明细〔detailsofselectedpacketheader〕:

显示捕获分组列表窗口中被选中分组的首部详细信息。

包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+〞即可。

●分组内容窗口〔packetcontent〕:

分别以十六进制〔左〕和ASCII码〔右〕两种格式显示被捕获帧的完整内容。

四、实验步骤

1.启动Web浏览器〔如IE〕;

2.启动Wireshark;

3.开始分组捕获:

单击工具栏的

按钮,出现如图3所示对话框,[options]按钮可以进行系统参数设置,在绝大局部实验中,使用系统的默认设置即可。

当计算机具有多个网卡时,选择其中发送或接收分组的网络接口〔本例中,第一块网卡为虚拟网卡,第二块为以太网卡〕。

单击“Start〞开始进行分组捕获;

图3

4.在运行分组捕获的同时,在浏览器地址栏中输入某个网页的URL,如:

5.当完整的页面下载完成后,单击捕获对话框中的“stop〞按钮,停止分组捕获。

此时,Wireshark主窗口显示已捕获的你本次通信的所有协议报文;

6.在协议筛选框中输入“〞,单击“apply〞按钮,分组列表窗口将只显示协议报文。

7.选择分组列表窗口中的第一条报文,它是你的计算机发向效劳器〔〕的GET报文。

当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及报文首部信息都将显示在分组首部子窗口中,其结果如图4。

图4

五、实验报告内容

在实验根底上,答复以下问题:

(1)列出在第5步中分组列表子窗口所显示的所有协议类型;

(2)从发出GET报文到接收到对应的OK响应报文共需要多长时间?

〔分组列表窗口中Time列的值是从Wireshark开始追踪到分组被捕获的总的时间数,以秒为单位〕

(3)你主机的IP地址是什么?

你访问的效劳器的IP地址是什么?

实验二使用Wireshark分析以太网帧与ARP协议

一、实验目的

分析以太网帧,MAC地址和ARP协议

二、实验环境

与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。

三、实验步骤:

IP地址用于标识因特网上每台主机,而端口号那么用于区别在同一台主机上运行的不同网络应用程序。

在链路层,有介质访问控制〔MediaAccessControl,MAC〕地址。

在局域网中,每个网络设备必须有唯一的MAC地址。

设备监听共享通信介质以获取目标MAC地址与自己相匹配的分组。

Wireshark能把MAC地址的组织标识转化为代表生产商的字符串,例如,00:

06:

5b:

e3:

4d:

1a也能以Dell:

e3:

4d:

1a显示,因为组织唯一标识符00:

06:

5b属于Dell。

地址ff:

ff:

ff:

ff:

ff:

ff是一个特殊的MAC地址,意味着数据应该播送到局域网的所有设备。

在因特网上,IP地址用于主机间通信,无论它们是否属于同一局域网。

同一局域网间主机间数据传输前,发送方首先要把目的IP地址转换成对应的MAC地址。

这通过地址解析协议ARP实现。

每台主机以ARP高速缓存形式维护一张IP分组就放在链路层帧的数据局部,而帧的目的地址将被设置为ARP高速缓存中找到的MAC地址。

如果没有发现IP地址的转换项,那么本机将播送一个报文,要求具有此IP地址的主机用它的MAC地址作出响应。

具有该IP地址的主机直接应答请求方,并且把新的映射项填入ARP高速缓存。

发送分组到本地网外的主机,需要跨越一组独立的本地网,这些本地网通过称为网关或路由器的中间机器连接。

网关有多个网络接口卡,用它们同时连接多个本地网。

最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据报到其它网关,直到最后到达目的主机所在的本地网的网关。

1、俘获和分析以太网帧

〔1〕选择工具->Internet选项->删除文件

〔2〕启动Wireshark分组嗅探器

〔3〕在浏览器地址栏中输入如下

shark-labs会出现美国权利法案。

〔4〕停止分组俘获。

在俘获分组列表中〔listingofcapturedpackets〕中找到GET信息和响应信息,如图1所示。

〔如果你无法俘获此分组,在Wireshark下翻开文件名为ethernet--ethereal-trace-1的文件进行学习〕。

GET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中〕。

在分组明细窗口中展开EthernetII信息〔packetdetailswindow〕。

答复下面的问题:

1、你所在的主机48-bitEthernet地址是多少?

2、Ethernet帧中目的地址是多少?

这个目的地址是的Ethernet地址吗?

图1 GET信息和响应信息

2、分析地址ARP协议

(1)ARPCaching

ARP协议用于将目的IP转换为对应的MAC地址。

Arp命令用来观察和操作缓存中的内容。

虽然arp命令和ARP有一样的名字,很容易混淆,但它们的作用是不同的。

在命令提示符下输入arp可以看到在你所在电脑中ARP缓存中的内容。

为了观察到你所在电脑发送和接收ARP信息,我们需要去除ARP缓存,否那么你所在主机很容易找到IP和匹配的MAC地址。

步骤如下:

〔1〕去除ARPcache,具体做法:

在MSDOS环境下,输入命令arp–d*command,The–d表示去除操作,*删除alltableentries.

〔2〕选择工具->Internet选项->删除文件

〔3〕启动Wireshark分组俘获器

〔4〕在浏览器地址栏中输入如下

〔5〕停止分组俘获。

〔6〕选择Analyze->EnabledProtocols->取消IP选项->选择OK。

如图3所示:

图3利用Wireshark俘获的ARP分组

四、实验报告

根据实验,答复下面问题:

由于此实验是关于Ethernet和ARP的,所以,只需在分组俘获列表中显示IP层下面的协议,具体做法为:

选择Analyze->EnabledProtocols->不选择IP协议->selectok如图2所示:

实验三使用Wireshark分析IP协议

一、实验目的

1、分析IP协议

2、分析IP数据报分片

二、实验环境

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

三、实验步骤

IP协议是因特网上的中枢。

它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。

因特网内的每台主机都有IP地址。

数据被称作数据报的分组形式从一台主机发送到另一台。

每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。

如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。

这个过程就是分组交换。

IP允许数据报从源端途经不同的网络到达目的端。

每个网络有它自己的规那么和协定。

IP能够使数据报适应于其途径的每个网络。

例如,每个网络规定的最大传输单元各有不同。

IP允许将数据报分片并在目的端重组来满足不同网络的规定。

在4_1_JoiningTheInternet下翻开已俘获的分组,分组名为:

感兴趣的同学可以在有动态分配IP的实验环境下俘获此分组,此分组具体俘获步骤如下:

1、使用DHCP获取IP地址

〔1〕翻开命令窗口,启动Wireshark。

〔2〕输入“ipconfig/release〞。

这条命令会释放主机目前的IP地址,此时,主机IP地址会变为.0

〔3〕然后输入“ipconfig/renew〞命令。

这条命令让主机获得一个网络配置,包括新的IP地址。

〔4〕等待,直到“ipconfig/renew〞终止。

然后再次输入“ipconfig/renew〞命令。

〔5〕当第二个命令“ipconfig/renew〞终止时,输入命令“ipconfig/release〞释放原来的已经分配的IP地址

〔6〕停止分组俘获。

如图1所示:

图1Wireshark俘获的分组

下面,我们对此分组进行分析:

IPconfig命令被用于显示机器的IP地址及修改IP地址的配置。

当输入命ipconfig/release命令时,用来释放机器的当前IP地址。

释放之后,该机没有有效的IP地址并在分组2中使用地址.0作为源地址。

分组2是一个DHCPDiscover(发现)报文,如图2所示。

当一台没有IP地址的计算机申请IP地址时将发送该报文。

DHCPDiscovery报文被发送给特殊的播送地址:

,该地址将到达某个限定播送范围内所有在线的主机。

理论上,能够播送到整个因特网上,但实际上并不能实现,因为路由器为了阻止大量的请求淹没因特网,不会将这样的播送发送到本地网之外。

在DHCPDiscover报文中,客户端包括自身的信息。

特别是,它提供了自己的主机名(MATTHEWS)和其以太网接口的物理地址(00:

07:

e9:

53:

87:

d9)。

这些信息都被DHCP用来标识一个的客户端。

DHCP效劳器可以使用这些信息实现一系列的策略,比方,分配与上次相同的IP地址,分配一个上次不同的IP地址,或要求客户端注册其物理层地址来获取IP地址。

在DHCPDiscover报文中,客户端还详细列出了它希望从DHCP效劳器接收到的信息。

在ParameterRequestList中包含了除客户端希望得到的本地网络的IP地址之外的其他数据项。

这些数据项中许多都是一台即将连入因特网的计算机所需要的数据。

例如,客户端必须知道的本地路由器的标识。

任何目的地址不在本地网的数据报都将发送到这台路由器上。

也就是说,这是发向外网的数据报在通向目的端的路径上遇到的第一台中间路由器。

图2DHCPDiscovery

客户端必须知道自己的子网掩码。

子网掩码是一个32位的数,用来与IP地址进行“按

图2ParameterRequestList

位逻辑与运算〞从而得出网络地址。

所有可以直接通信而不需要路由器参与的机器都有相同的网络地址。

因此,子网掩码用来决定数据报是发送到本地路由器还是直接发送到本地目的主机。

客户端还必须知道它们的域名和它们在本地域名效劳器上的标识。

域名是一个可读的网络名。

IP地址为的DHCP效劳器回复了一个DHCPOFFER报文。

该报文也播送到,因为尽管客户端还不知道自己的IP地址,但它将接收到发送到播送地址的报文。

这个报文中包含了客户端请求的信息,包括IP地址、本地路由器、子网掩码、域名和本地域名效劳器。

在分组5中,客户端通过发送DHCPRequest〔请求〕报文说明自己接收到的IP地址。

最后,在分组6中DHCP效劳器确认请求的地址并结束对话。

此后,在分组7中客户端开始使用它的新的IP地址作为源地址。

在分组3和分组7到12的地址ARP协议引起了我们的注意。

在分组3中,DHCP效劳器询问是否有其它主机使用IP地址〔该请求被发送到播送地址〕。

这就允许DHCP效劳器在分配IP之前再次确认没有其它主机使用该IP地址。

在获取其IP地址之后,客户端会发送3个报文询问其他主机是否有与自己相同的IP地址。

前4个ARP请求都没有回应。

在分组10—13中,DHCP效劳器再次询问哪个主机拥有IP地址,客户端两次答复它占有该IP同时提供了自己的以太网地址。

通过DHCP分配的IP地址有特定的租用时间。

为了保持对某个IP的租用,客户端必须更新租用期。

当输入第二个命令ipconfig/renew后,在分组14和15中就会看到更新租用期的过程。

DHCPRequest请求更新租用期。

DHCPACK包括租用期的长度。

如果在租用期到期之前没有DHCPRequest发送,DHCP效劳器有权将该IP地址重新分配给其他主机。

最后,在分组16时输入命令ipconfig/release后的结果。

在DHCP效劳器接收到这个报文后,客户停止对该IP的使用。

如有需要DHCP效劳器有权重新对IP地址进行分配。

2、分析IPv4中的分片

在第二个实验中,我们将考察IP数据报首部。

俘获此分组的步骤如下:

(1)启动Wireshark,开始分组俘获〔“Capture〞-----“interface…〞----“start〞〕。

(2)启动pingplotter〔pingplotter的下载地址为〕,在“Addresstotrace:

〞下面的输入框里输入目的地址,选择菜单栏“Edit〞---“Options〞---“Packet〞,在“Packetsize(inbytesdefaults=56):

右边输入IP数据报大小:

5000,按下“OK〞。

最后按下按钮“Trace〞,你将会看到pingplotter窗口显示如下内容,如图3所示:

图3pingplotter

(3)停止Wireshark。

设置过滤方式为:

IP,在Wireshark窗口中将会看到如下情形,如图4所示。

在分组俘获中,你应该可以看到一系列你自己电脑发送的“ICMPEchoRequest〞和由中间路由器返回到你电脑的“ICMPTTL-exceededmessages。

    图4用Wireshark所俘获的分组

(4)如果你无法得到上图的分组信息,也可使用已经下载的IP分片分组文件:

然后在Wireshark中,选择菜单栏“File〞---“Open〞导入上述文件进行学习。

下面,我们来分析中的具体分组:

IP层位于传输层和链路层之间。

在中传输层协议是UDP,链路层协议是以太网。

发送两个UDP数据报,每个包含5000个字节的数据局部和8字节的UDP首部。

在分组1到4和分组5到8分别代表了先后发送的两个UDP数据报。

当IP层接收到5008字节的UDP数据报时,它的工作是将其作为IP数据报在以太网传输。

以太网要求一次传输的长度不大于1514个字节,其中有14字节是以太网帧首部。

IP被迫将UDP数据报作为多个分片发送。

每个分片必须包含以太网帧首部、IP数据报首部。

每个分片还会包含UDP数据报的有效负载〔首部和数据〕的一局部。

IP将原始数据报的前1480个字节〔含1472个字节的数据和含8个字节的UDP首部〕放在第一个分片中。

后面两个分片每个均含1480个字节的数据,最后一个分片中包含的数据为568个字节〕。

为了让接收段重组原始数据,IP使用首部的特殊字段对分片进行了编号。

标识字段用于将所有的分片连接在一起。

分组1到4含有相同的标识号0xfd2b,分组5到8的标识号是0xfd2c.片漂移量指明了分组中数据的第一个字节在UDP数据报中的偏移量。

例如分组1和分组5的偏移量都是0,因为它们都是第一个分片。

最后在标识字段中有一位用来指明这个分片后是否还有分片。

分组1到分组3和分组5到分组7均对该位置进行了置位。

分组4和分组8由于是最后一个分片而没有对该位置位。

四、实验报告内容

翻开文件、,答复以下问题:

1、DHCP效劳器播送的本地路由器或默认网关的IP地址是多少?

2、在ap中,由DHCP效劳器分配的域名是多少?

3、在中,我们看到通过UDP数据报发送的5000字节被分成了多少分片?

在网络中,一次能传输且不需要分片的最大数据单元有多大?

实验四利用Wireshark分析ICMP

一、实验目的

分析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命令来探寻这种变动都会得到不同的结果。

为了表达Internet路由的有限可见性,许多网络都维护了一个traceroute效劳器traceroute。

Traceroute效劳器将显示出从本地网到一个特定目的地执行traceroute的结果。

分布于全球的traceroute效劳器的相关信息可在上获得。

1、ping和ICMP

利用Ping程序产生ICMP分组。

Ping向因特网中的某个特定主机发送特殊的探测报文并等待说明主机在线的回复。

具体做法:

〔1〕翻开Windows命令提示符窗口〔WindowsCommandPrompt〕。

〔2〕启动Wireshark分组嗅探器,在过滤显示窗口〔filterdisplaywindow〕中输入icmp,开始Wireshark分组俘获。

〔3〕输入“ping–n10hostname〞。

其中“-n10”指明应返回10条ping信息。

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

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

图1命令窗口

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

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

图3是在分组内容窗口中显示了ICMP协议的详细信息。

观察这个ICMP分组,可以看出,此ICMP分组的Type8andCode0即所谓的ICMP“echorequest〞分组。

图3ICMP协议详细信息

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

〔1〕你所在主机的IP地址是多少?

目的主机的IP地址是多少?

〔2〕查看ping请求分组,ICMP的type和code是多少?

〔3〕查看相应得ICMP响应信息,ICMP的type和code又是多少?

2.ICMP和Traceroute

在Wireshark下,用Traceroute程序俘获ICMP分组。

Traceroute能够映射出通往特定的因特网主机途径的所有中间主机。

源端发送一串ICMP分组到目的端。

发送的第一个分组时,TTL=1;发送第二个分组时,TTL=2,依次类推。

路由器把经过它的每一个分组TTL字段值减1。

当一个分组到达了路由器时的TTL字段为1时,路由器会发送一个ICMP错误分组〔ICMPerrorpacket〕给源端。

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

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

〔3〕Tracert命令在c:

\windows\system32下,所以在MS-DOS命令提示行或者输入“tracerthostname〞or“c:

\windows\system32\tracert

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1