ok网络协议详情分析报告实验指导书Wireshark

上传人:痛*** 文档编号:102244386 上传时间:2022-06-06 格式:DOC 页数:49 大小:1.62MB
收藏 版权申诉 举报 下载
ok网络协议详情分析报告实验指导书Wireshark_第1页
第1页 / 共49页
ok网络协议详情分析报告实验指导书Wireshark_第2页
第2页 / 共49页
ok网络协议详情分析报告实验指导书Wireshark_第3页
第3页 / 共49页
资源描述:

《ok网络协议详情分析报告实验指导书Wireshark》由会员分享,可在线阅读,更多相关《ok网络协议详情分析报告实验指导书Wireshark(49页珍藏版)》请在装配图网上搜索。

1、word网络协议分析实验指导书 谢 涛某某理工电气信息工程学院目 录实验一 Wireshark的安装与使用3实验二使用Wireshark分析以太网帧与ARP协议7实验三使用Wireshark分析IP协议11实验四利用Wireshark分析ICMP19实验五使用Wireshark分析UDP协议27实验六使用Wireshark分析TCP协议31实验七利用Wireshark分析协议37实验八利用Wireshark分析DNS协议42实验九使用Wireshark分析FTP协议选作46实验十使用Wireshark分析SMTP和POP3协议选作5049 / 49实验一 Wireshark的安装与使用一、实验

2、目的1、熟悉并掌握Wireshark的根本使用;2、了解网络协议实体间进展交互以与报文交换的情况。二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、预备知识要深入理解网络协议,需要观察它们的工作过程并使用它们,即观察两个协议实体之间交换的报文序列,探究协议操作的细节,使协议实体执行某些动作,观察这些动作与其影响。这种观察可以在仿真环境下或在因特网这样的真实网络环境中完成。观察正在运行的协议实体间交换报文的根本工具被称为分组嗅探器packet sniffer,又称分组捕获器。顾名思义,分组嗅探器捕获嗅探你的计算机发送和接收的报文。图1显示了一个

3、分组嗅探器的结构。图1图1右边是计算机上正常运行的协议和应用程序如:Web浏览器和FTP客户端。分组嗅探器虚线框中的局部主要有两局部组成:第一是分组捕获器,其功能是捕获计算机发送和接收的每一个链路层帧的拷贝;第二个组成局部是分组分析器,其作用是分析并显示协议报文所有字段的内容它能识别目前使用的各种网络协议。Wireshark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组嗅探器,是一个开源免费软件,可以从下载。运行Wireshark程序时,其图形用户界面如图2所示。最初,各窗口中并无数据显示。Wireshark的界面主要有五个组成局部:命令和菜单协议筛选框捕获分组列表

4、选定分组首部明细分组内容左:十六进制右:ASCII码图2l 命令菜单mand menus:命令菜单位于窗口的最顶部,是标准的下拉式菜单。l 协议筛选框display filter specification:在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进展过滤,只显示你需要的分组。l 捕获分组列表listing of captured packets:按行显示已被捕获的分组内容,其中包括:分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。单击某一列的列名,可以使分组列表按指定列排序。其中,协议类型是发送或接收分组的最高层协议的类型。l 分组首部明细deta

5、ils of selected packet header:显示捕获分组列表窗口中被选中分组的首部详细信息。包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“即可。l 分组内容窗口packet content:分别以十六进制左和ASCII码右两种格式显示被捕获帧的完整内容。四、实验步骤1. 启动Web浏览器如IE;2. 启动Wireshark;3. 开始分组捕获:单击工具栏的按钮,出现如图3所示对话框,options按钮可以进展系统参数设置,在绝大局部实验中,使用系统的默认设置即可。当计算机具有多个网卡时,选择其中发送或接收分组的网络接口本例中,第一块网卡为虚拟

6、网卡,第二块为以太网卡。单击“Start开始进展分组捕获;图34. 在运行分组捕获的同时,在浏览器地址栏中输入某个网页的URL,如:.nxist.5. 当完整的页面下载完成后,单击捕获对话框中的“stop按钮,停止分组捕获。此时, Wireshark主窗口显示已捕获的你本次通信的所有协议报文;6. 在协议筛选框中输入“,单击“apply按钮,分组列表窗口将只显示协议报文。7. 选择分组列表窗口中的第一条报文,它是你的计算机发向服务器.nxist.的 GET报文。当你选择该报文后,以太网帧、IP数据报、TCP报文段、以与报文首部信息都将显示在分组首部子窗口中,其结果如图4。图4五、实验报告内容在

7、实验根底上,回答以下问题:(1) 列出在第5步中分组列表子窗口所显示的所有协议类型;(2) 从发出 GET报文到接收到对应的 OK响应报文共需要多长时间?分组列表窗口中Time列的值是从Wireshark开始追踪到分组被捕获的总的时间数,以秒为单位(3) 你主机的IP地址是什么?你访问的服务器的IP地址是什么?实验二 使用Wireshark分析以太网帧与ARP协议一、实验目的分析以太网帧,MAC地址和ARP协议二、实验环境与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。三、实验步骤:IP地址用于标识因特网上每台主机,而端口号如此用于区别在同一台主

8、机上运行的不同网络应用程序。在链路层,有介质访问控制Media Access Control,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地址用于主机间通信,无论它们是否属于同一局域网。同一局域网间主机间数据传输

9、前,发送方首先要把目的IP地址转换成对应的MAC地址。这通过地址解析协议ARP实现。每台主机以ARP高速缓存形式维护一XIP分组就放在链路层帧的数据局部,而帧的目的地址将被设置为ARP高速缓存中找到的MAC地址。如果没有发现IP地址的转换项,那么本机将广播一个报文,要求具有此IP地址的主机用它的MAC地址作出响应。具有该IP地址的主机直接应答请求方,并且把新的映射项填入ARP高速缓存。发送分组到本地网外的主机,需要跨越一组独立的本地网,这些本地网通过称为网关或路由器的中间机器连接。网关有多个网络接口卡,用它们同时连接多个本地网。最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据

10、报到其它网关,直到最后到达目的主机所在的本地网的网关。1、俘获和分析以太网帧 1选择工具-Internet 选项-删除文件2启动Wireshark 分组嗅探器3在浏览器地址栏中输入如下 会出现美国权利法案。4停止分组俘获。在俘获分组列表中listing of captured packets中找到 GET 信息和响应信息,如图1所示。如果你无法俘获此分组,在Wireshark下打开文件名为ethernet-ethereal-trace-1的文件进展学习。 GET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中。在分组明细窗口中展开EthernetII信

11、息packetdetails window。回答下面的问题:1、你所在的主机48-bit Ethernet 地址是多少?2、Ethernet 帧中目的地址是多少?这个目的地址是的Ethernet 地址吗?图1 GET信息和响应信息2、分析地址ARP协议(1)ARP CachingARP协议用于将目的IP转换为对应的MAC地址。Arp命令用来观察和操作缓存中的内容。虽然arp命令和ARP有一样的名字,很容易混淆,但它们的作用是不同的。在命令提示符下输入arp可以看到在你所在电脑中ARP缓存中的内容。为了观察到你所在电脑发送和接收ARP信息,我们需要去除ARP缓存,否如此你所在主机很容易找到IP和

12、匹配的MAC地址。步骤如下:1去除ARP cache,具体做法:在MSDOS环境下,输入命令arp d * mand ,The d表示去除操作, * 删除alltable entries.2选择工具-Internet 选项-删除文件3启动Wireshark分组俘获器4在浏览器地址栏中输入如下 5停止分组俘获。6选择 Analyze-Enabled Protocols-取消IP选项-选择OK。如图3所示: 图3 利用Wireshark俘获的ARP分组四、实验报告根据实验,回答下面问题:由于此实验是关于Ethernet 和ARP 的,所以,只需在分组俘获列表中显示IP层下面的协议,具体做法为:选择

13、Analyze-Enabled Protocols-不选择IP协议-select ok如图2所示:实验三 使用Wireshark分析IP协议一、实验目的1、分析IP协议2、分析IP数据报分片二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤IP协议是因特网上的中枢。它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。因特网内的每台主机都有IP地址。数据被称作数据报的分组形式从一台主机发送到另一台。每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间

14、机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。这个过程就是分组交换。IP允许数据报从源端途经不同的网络到达目的端。每个网络有它自己的规如此和协定。IP能够使数据报适应于其途径的每个网络。例如,每个网络规定的最大传输单元各有不同。IP允许将数据报分片并在目的端重组来满足不同网络的规定。在4_1_JoiningTheInternet下打开已俘获的分组,分组名为:。感兴趣的同学可以在有动态分配IP的实验环境下俘获此分组,此分组具体俘获步骤如下:1、使用DHCP获取IP地址1打开命令窗口,启动Wireshark。2输入“ipconfig /release。这条命令会释放主机目前

15、的IP地址,此时,主机IP地址会变为3然后输入“ipconfig /renew命令。这条命令让主机获得一个网络配置,包括新的IP地址。4等待,直到“ipconfig /renew终止。然后再次输入“ipconfig /renew 命令。5当第二个命令“ipconfig /renew 终止时,输入命令“ipconfig/release 释放原来的已经分配的IP地址6停止分组俘获。如图1所示:图1 Wireshark俘获的分组下面,我们对此分组进展分析:IPconfig 命令被用于显示机器的IP地址与修改IP地址的配置。当输入命ipconfig/release命令时,用来释放机器的当前IP地址。释

16、放之后,该机没有有效的IP地址并在分组2中使用地址作为源地址。分组2是一个DHCP Discover(发现)报文,如图2所示。当一台没有IP地址的计算机申请IP地址时将发送该报文。DHCP Discovery报文被发送给特殊的广播地址:,该地址将到达某个限定广播X围内所有在线的主机。理论上,能够广播到整个因特网上,但实际上并不能实现,因为路由器为了阻止大量的请求淹没因特网,不会将这样的广播发送到本地网之外。在DHCP Discover报文中,客户端包括自身的信息。特别是,它提供了自己的主机名(MATTHEWS)和其以太网接口的物理地址(00:07:e9:53:87:d9)。这些信息都被DHCP

17、用来标识一个的客户端。DHCP服务器可以使用这些信息实现一系列的策略,比如,分配与上次一样的IP地址,分配一个上次不同的IP地址,或要求客户端注册其物理层地址来获取IP地址。在DHCP Discover报文中,客户端还详细列出了它希望从DHCP服务器接收到的信息。在Parameter Request List中包含了除客户端希望得到的本地网络的IP地址之外的其他数据项。这些数据项中许多都是一台即将连入因特网的计算机所需要的数据。例如,客户端必须知道的本地路由器的标识。任何目的地址不在本地网的数据报都将发送到这台路由器上。也就是说,这是发向外网的数据报在通向目的端的路径上遇到的第一台中间路由器。

18、图2 DHCP Discovery客户端必须知道自己的子网掩码。子网掩码是一个32位的数,用来与IP地址进展“按图2 Parameter Request List位逻辑与运算从而得出网络地址。所有可以直接通信而不需要路由器参与的机器都有一样的网络地址。因此,子网掩码用来决定数据报是发送到本地路由器还是直接发送到本地目的主机。客户端还必须知道它们的域名和它们在本地域名服务器上的标识。域名是一个可读的网络名。IP地址为的DHCP服务器回复了一个DHCP OFFER报文。该报文也广播到,因为尽管客户端还不知道自己的IP地址,但它将接收到发送到广播地址的报文。这个报文中包含了客户端请求的信息,包括IP

19、地址、本地路由器、子网掩码、域名和本地域名服务器。在分组5中,客户端通过发送DHCP Request请求报文明确自己接收到的IP地址。最后,在分组6中DHCP服务器确认请求的地址并完毕对话。此后,在分组7中客户端开始使用它的新的IP地址作为源地址。在分组3和分组7到12的地址ARP协议引起了我们的注意。在分组3中,DHCP服务器询问是否有其它主机使用IP地址该请求被发送到广播地址。这就允许DHCP服务器在分配IP之前再次确认没有其它主机使用该IP地址。在获取其IP地址之后,客户端会发送3个报文询问其他主机是否有与自己一样的IP地址。前4个ARP请求都没有回应。在分组1013中,DHCP服务器再

20、次询问哪个主机拥有IP地址,客户端两次回答它占有该IP同时提供了自己的以太网地址。通过DHCP分配的IP地址有特定的租用时间。为了保持对某个IP的租用,客户端必须更新租用期。当输入第二个命令ipconfig /renew后,在分组14和15中就会看到更新租用期的过程。DHCP Request请求更新租用期。DHCP ACK包括租用期的长度。如果在租用期到期之前没有DHCP Request发送,DHCP服务器有权将该IP地址重新分配给其他主机。最后,在分组16时输入命令ipconfig /release后的结果。在DHCP服务器接收到这个报文后,客户停止对该IP的使用。如有需要DHCP服务器有权

21、重新对IP地址进展分配。2、分析IPv4中的分片在第二个实验中,我们将考察IP数据报首部。俘获此分组的步骤如下:(1) 启动Wireshark,开始分组俘获“Capture-“interface-“start。(2) 启动pingplotterpingplotter 的下载地址为.pingplotter.,在“Address to trace:下面的输入框里输入目的地址,选择菜单栏“Edit-“Options-“Packet,在“Packet size(in bytes defaults=56):右边输入IP数据报大小:5000,按下“OK。最后按下按钮“Trace,你将会看到pingplot

22、ter窗口显示如下内容,如图3所示:图3 pingplotter(3) 停止Wireshark。设置过滤方式为:IP,在Wireshark窗口中将会看到如下情形,如图4所示。在分组俘获中,你应该可以看到一系列你自己电脑发送的“ICMP Echo Request和由中间路由器返回到你电脑的“ICMP TTL-exceeded messages。图4 用ireshark 所俘获的分组(4) 如果你无法得到上图的分组信息,也可使用已经下载的IP分片分组文件:。然后在Wireshark中,选择菜单栏“File-“Open导入上述文件进展学习。下面,我们来分析中的具体分组:IP层位于传输层和链路层之间。

23、在中传输层协议是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首部放在第一个分片中。后面两个分片每

24、个均含1480个字节的数据,最后一个分片中包含的数据为568个字节。为了让接收段重组原始数据,IP使用首部的特殊字段对分片进展了编号。标识字段用于将所有的分片连接在一起。分组1到4含有一样的标识号0xfd2b,分组5到8的标识号是0xfd2c.片漂移量指明了分组中数据的第一个字节在UDP数据报中的偏移量。例如分组1和分组5的偏移量都是0,因为它们都是第一个分片。最后在标识字段中有一位用来指明这个分片后是否还有分片。分组1到分组3和分组5到分组7均对该位置进展了置位。分组4和分组8由于是最后一个分片而没有对该位置位。四、实验报告内容打开文件、,回答以下问题:1、DHCP服务器广播的本地路由器或默

25、认网关的IP地址是多少?2、在中,由DHCP服务器分配的域名是多少?3、在中,我们看到通过UDP数据报发送的5000字节被分成了多少分片?在网络中,一次能传输且不需要分片的最大数据单元有多大?实验四 利用Wireshark分析ICMP一、实验目的分析ICMP二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤Ping和traceroute命令都依赖于ICMP。ICMP可以看作是IP协议的伴随协议。ICMP报文被封装在IP 数据报发送。一些ICMP报文会请求信息。例如:在ping中,一个ICMP回应请求报文被发送给远程主机。如果对方主机存

26、在,期望它们返回一个ICMP回应应答报文。一些ICMP报文在网络层发生错误时发送。例如,有一种ICMP报文类型表示目的不可达。造成不可达的原因很多,ICMP报文试图确定这一问题。例如,可能是主机关与或整个网络连接断开。有时候,主机本身可能没有问题,但不能发送数据报。例如IP首部有个协议字段,它指明了什么协议应该处理IP数据报中的数据局部。IANA公布了代表协议的数字的列表。例如,如果该字段是6,代表TCP报文段,IP层就会把数据传给TCP层进展处理;如果该字段是1,如此代表ICMP报文,IP层会将该数据传给ICMP处理。如果操作系统不支持到达数据报中协议字段的协议号,它将返回一个指明“协议不可

27、达的ICMP报文。IANA同样公布了ICMP报文类型的清单。Traceroute是基于ICMP的灵活用法和IP首部的生存时间字段的。发送数据报时生存时间字段被初始化为能够穿越网络的最大跳数。每经过一个中间节点,该数字减1。当该字段为0时,保存该数据报的机器将不再转发它。相反,它将向源IP地址发送一个ICMP生存时间超时报文。生存时间字段用于防止数据报载网络上无休止地传输下去。数据报的发送路径是由中间路由器决定的。通过与其他路由器交换信息,路由器决定数据报的下一条路经。最好的“下一跳经常由于网络环境的变化而动态改变。这可能导致路由器形成选路循环也会导致正确路径冲突。在路由循环中这种情况很可能发生

28、。例如,路由器A认为数据报应该发送到路由器B,而路由器B又认为该数据报应该发送会路由器A,这是数据报便处于选路循环中。生存时间字段长为8位,所以因特网路径的最大长度为28 -1即255跳。大多数源主机将该值初始化为更小的值如128或64。将生存时间字段设置过小可能会使数据报不能到达远程目的主机,而设置过大又可能导致处于无限循环的选路中。Traceroute利用生存时间字段来映射因特网路径上的中间节点。为了让中间节点发送ICMP生存时间超时报文,从而暴露节点本身信息,可故意将生存时间字段设置为一个很小的书。具体来说,首先发送一个生存时间字段为1的数据报,收到ICMP超时报文,然后通过发送生存时间

29、字段设置为2的数据报来重复上述过程,直到发送ICMP生存时间超时报文的机器是目的主机自身为止。因为在分组交换网络中每个数据报时独立的,所以由traceroute发送的每个数据报的传送路径实际上互不一样。认识到这一点很重要。每个数据报沿着一条路经对中间节点进展取样,因此traceroute可能暗示一条主机间并不存在的连接。因特网路径经常变动。在不同的日子或一天的不同时间对同一个目的主机执行几次traceroute命令来探寻这种变动都会得到不同的结果。为了表现Internet路由的有限可见性,许多网络都维护了一个traceroute服务器traceroute。Traceroute服务器将显示出从本

30、地网到一个特定目的地执行traceroute的结果。分布于全球的traceroute服务器的相关信息可在上获得。1、ping 和 ICMP利用Ping程序产生ICMP分组。Ping向因特网中的某个特定主机发送特殊的探测报文并等待明确主机在线的回复。具体做法:1打开Windows命令提示符窗口Windows mand Prompt。2启动Wireshark 分组嗅探器,在过滤显示窗口filter display window中输入icmp,开始Wireshark 分组俘获。3输入“ping n 10hostname。其中“-n 10指明应返回10条ping信息。4当ping程序终止时,停止Wir

31、eshark 分组俘获。 实验完毕后会出现如下列图的命令窗口:图1 命令窗口停止分组俘获后,会出现如图2所示的界面:图2 停止分组俘获后Wireshark的界面图3是在分组内容窗口中显示了ICMP协议的详细信息。观察这个ICMP分组,可以看出,此ICMP分组的Type 8 and Code 0 即所谓的ICMP “echo request 分组。图3 ICMP协议详细信息在实验报告中回答下面问题:1你所在主机的IP地址是多少?目的主机的IP地址是多少?2查看ping请求分组,ICMP的type 和code是多少?3查看相应得ICMP响应信息,ICMP的type 和code又是多少?2. ICM

32、P和Traceroute在Wireshark 下,用Traceroute程序俘获ICMP分组。Traceroute能够映射出通往特定的因特网主机途径的所有中间主机。源端发送一串ICMP分组到目的端。发送的第一个分组时,TTL=1;发送第二个分组时,TTL=2,依次类推。路由器把经过它的每一个分组TTL字段值减1。当一个分组到达了路由器时的TTL字段为1时,路由器会发送一个ICMP错误分组ICMP error packet给源端。(1) 启动Window 命令提示符窗口(2) 启动Wireshark分组嗅探器,开始分组俘获。3Tracert命令在c:windowssystem32下,所以在MS-

33、DOS 命令提示行或者输入“tracerthostname or “c:windowssystem32tracert hostname (注意在Windows 下, 命令是 “tracert 而不是“traceroute。)如图4所示:4当Traceroute 程序终止时,停止分组俘获。图4 命令提示窗口显示Traceroute程序结果图5显示的是一个路由器返回的ICMP错误分组ICMP error packet。注意到ICMP错误分组中包括的信息比Ping ICMP中错误分组包含的信息多。图5 一个扩展ICMP错误分组信息的Wireshark 窗口在实验报告中回答下面问题:(1) 查看ICM

34、P echo 分组 ,是否这个分组和前面使用 ping命令的ICMP echo 一样?(2) 查看ICMP错误分组,它比ICMP echo 分组包括的信息多。ICMP错误分组比ICMP echo 分组多包含的信息有哪些?四、实验报告回答如下问题:1、 连接层的IP地址是多少?2、 ICMP的type 和code是多少?实验五 使用Wireshark分析UDP协议一、实验目的比拟TCP和UDP协议的不同二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤1、打开两次TCP流的有关跟踪记录,保存在tcp_2transmit.cap中,并打开

35、两次UDP流中的有关跟踪文件udp_2transmit.cap 。如下列图:图1 TCP 流跟踪记录图2 UDP流跟踪记录2、分析此数据包:1TCP传输的正常数据:tcp_2transmit.cap文件的分组1到13中显示了TCP连接。这个流中的大局部信息与前面的实验一样。我们在分组1到分组3中看到了打开连接的三次握手。分组10到分组13显示的如此是连接的终止。我们看到分组10既是一个带有FIN标志的请求终止连接的分组,又是一个最后1080个字节的序号是39215000的重传。TCP将应用程序写入合并到一个字节流中。它并不会尝试维持原有应用程序写人的边界值。我们注意到TCP并不会在单个分组中传

36、送1000字节的应用程序写入。前1000个字节会在分组4种被发送,而分组5如此包含了1460个字节的数据-一些来自第二个缓冲区,而另一些来自第三个缓冲区。分组7中含有1460个字节而分组8中如此包含剩余的1080个字节。5000-1000-1460-1460=1080我们注意到实际报告上的2.48秒是从初始化连接的分组1开始到关闭连接的分组10完毕。分组1113未必要计入接收端应用程序的时间内,因为一旦接收到第一个FIN,TCP层便马上发送一个关闭连接的信号。分组1113只可能由每台计算机操作系统得TCP层后台传输。如果我们注意到第一个包含数据的分组4和最后一个分组8之间的时间,我们就大约计算

37、出和由UDP接收端所报告的0.01秒一样的时间。这样的话,增加TCP传输时间的主要原因就是分组10中的重传。公平的说,UDP是幸运的,因为它所有的分组都在第一时间被承受了。在这个跟踪文件中,另一个值得注意的是没有包含数据的分组的数量。所有来自接收端的分组和几个来自发送端的分组只包含了TCP报文段的首部。总的来说包括重传一共发送了6822个字节来支持5000个字节的数据传输。这个开销正好36。(2)UDP正常数据传输现在我们来观察UDP流,在udp _transmit.cap文件的分组1到分组11中显示。虽然像TCP流那样传输了一样的数据,但是在这个跟踪文件中还是很多的不同。和TCP不同,UDP

38、是一个无连接的传输协议。TCP用SYN分组和SYN ACK分组来显示地打开一个连接,而UDP却直接开始发送包含数据的分组。同样,TCP用FIN分组和FIN ACK分组来显示地关闭一个连接,而UDP却只简单地停止包含数据的分组的传输。为了解决这个问题,在文件udp_2transmit.cap俘获的分组中,采取的方法是ttcp发送端发送一个只包含4个字节的特殊UDP 数据报来模拟连接建立和连接终止。在发送任何数据之前,发送端总是发送一个只包含4个字节的特殊数据报分组1,而在发送完所有的数据之后,发送端又发送额外的5个分组分组7-11。接收端也使用第一个特殊的数据报来启动数据传输的计时器。如果这个特

39、殊的数据报丢失了,它可能用真实数据的第一个分组计时器。不过,如果接收端没有看到这个特殊的数据报,它就不能准确地确定数据传输的开始和传输的所有时间。与TCP不同,UDP 在传输的数据中,不会加上序号,因此对于接收端来说不可能确定丢失和重排序重传的情况。类似的,接收端根据最后的特殊数据报来停止数据传输计时器。当接收端接收到这5个包中的任一个便停止计时,但是发送5个分组是因为在传输的过程中可能丢失其中的一些。如果5个分组全部丢失了,那么接收端便会无限制的等待更多数据的到来达。实际数据的传输是在分组2-6里。每一个分组都包含1000个字节。1000个字节的应用程学写入直接转换成UDP数据报。另一方面,

40、TCP并不打算保存应用程序写入边界而只是将它们并入一个字节流中。与TCP不同,UDP没有提供接收端到发送端的反应。在TCP的例子里,接收端返回只包含有TCP报文段首部而没有数据的报文段。首部本身如此携带着关于哪些数据已经被成功接收以与接收端能够接收多少数据的信息。我们已经知道UDP不提供可靠的数据传输,因此并不要求什么数据已经被成功接收的信息。它也不提供任何信息高速发送端降低速率,因为接收端或者网络本身已经淹没。虽然UDP本身并不提供接收端到发送端的反应,但是我们确实看到几个从接收端到发送端的ICMP分组分组1214。ICMP是网络层协议IP的一个伴随协议,并且有提供一定控制和错误报告的功能。

41、在这种情况下,ICMP分组暗示一些UDP数据报没有被传送到,因为端口不可达。这就意味着当数据报到达那个端口的时候,没有接收端在那个端口监听。我们注意到ICMP分组携带着一些未传递UDP数据报的信息。当ttcp接收端看到一个只具有4个字节数据的特殊数据报时,它便会知道数据传输是完整的,并且会因此关闭正在监听的端口。事实上ttcp发送端发送5个这样的分组,并且后面的分组到达的时候发现接收端已经没有在监听了。当发送端发送所有的数据而没有相应的接收标志的时候,将会看到相似的行为。TCP和UDP的另外一个不同之处在于TCP连接时点对点的,换句话说,TCP的使用是在一个连接端和一个发送端之间的。而对于UD

42、P来说,一个发送端可能发向多个接收端例如广播和组播通信或者多个发送端能够发送给一个接收端。如果多个发送端都发给这个接收端的话,这个接收端会为每个发送端报告统计信息。TCP和UDP的最后一个不同之处是它们首部的大小。UDP首部总是8个字节,而TCP首部大小是变化的,但是它绝对不会少于20个字节。这也就是说传输5000个字节的实际数据TCP的开销是36。四、实验报告回答下面的问题:1、在udp_2transmit.cap中观察DUP首部。长度字段是包括首部和数据还是只包括数据?2、我们观察到使用ICMP报文来报告UDP数据报不可达。为什么TCP不用这个来指示丢失的报文段呢?3、我们计算TCP成功传

43、输5000个字节的实际数据的开销是36。在这个开销中都包括什么?如果没有重传,这个开销是多少?实验六 使用Wireshark分析TCP协议一、实验目的分析TCP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤1、TCP介绍1连接建立:TCP连接通过称为三次握手的三条报文来建立的。在Wireshark中选择open-file,选择文件tcp_pcattcp_n1.cap,其中分组3到5显示的就是三次握手。第一条报文没有数据的TCP报文段,并将首部SYN位设置为1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何

44、值,表示后续报文设定的起始编号。连接不能自动从1开始计数,选择一个随机数开始计数可防止将以前连接的分组错误地解释为当前连接的分组。观察分组3,Wireshark显示的序号是0。选择分组首部的序号字段,原始框中显示“94 f2 2e be。Wireshark显示的是逻辑序号,真正的初始序号不是0。如图1所示:图:逻辑序号与实际初始序号SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端口号。如果没有建立连接,SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送假如干SYN分组,否如此客户端将会停止并报告一个

45、错误给应用程序。如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进展相应,这个报文段的SYN位和ACK位都置为1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端。分组4确实认号字段在Wireshark的协议框中显示1,并且在原始框中的值是“94 f2 2e bf比“94 f2 2e be多1。这解释了TCP确实认模式。TCP接收端确认第X个字节已经收到,并通过设置确认号为X+1来明确期望收到下一个字节号。分组4的序号字段在Wireshark的协议显示为0,但在原始框中的实际值却是“84 ca be b3。这明确TCP连

46、接的双方会选择数据流中字节的起始编号。所有初始序号逻辑上都视同为序号0。最后,客户端发送带有标志ACK的TCP报文段,而不是带SYN的报文段来完成三次握手的过程。这个报文段将确认服务器发送的SYNACK分组,并检查TCP连接的两端是否正确打开合运行。2关闭连接当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭。FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而,那些重传的数据会被传送,直到接收端确认所有的信息。在tcp_pcattcp_n1.cap中,通过分组13至16我们可以看到TCP连接被关闭。2、TCP重传当一个TCP发送端传输一个

47、报文段的同时也设置了一个重传计时器。当确认到达时,这个计时器就自动取消。如果在数据确实认信息到达之前这个计时器超时,那么数据就会重传。重传计时器能够自动灵活设置。最初TCP是基于初始的SYN和SYN ACK之间的时间来设置重传计时器的。它基于这个值屡次设置重传计时器来防止不必要的重传。在整个TCP连接中,TCP都会注意每个报文段的发送和接到相应确实认所经历的时间。TCP在重传数据之前不会总是等待一个重传计算器超时。TCP也会把一系列重复确认的分组当作是数据丢失的征兆。在Wireshark中选择file-open,打开文件pcattcp_retrans_t.cap和pcattcp_retrans

48、_r.cap,对所俘获的分组进展分析如下:(1) SACK选项协商在上面的每次跟踪中,我们能观察建立连接的三次握手。在SYN分组中,发送端在TCP的首部选项中通过包括SACK permitted选项来希望使用TCPSACK。在SYN ACK包中接收端表示愿意使用SACK。这样双方都同意接收选择性确认信息。SACK选项如图2所示:图2 SACK选项在TCP SACK选项中,如果连接的一端接收了失序数据,它将使用选项区字段来发送关于失序数据起始和完毕的信息。这样允许发送端仅仅重传丢失的数据。TCP接收端不能传递它们接收到的失序数据给处于等待状态的应用程序,因为它总是传递有序数据。因此,接收到的失序

49、数据要么被丢掉,要么被存储起来。接收端的存储空间是有限的,TCP发送端必须保存一份已发送的数据的副本,以防止数据需要重发。发送端必须保存数据直到它们收到数据确实认信息为止。接收端通常会分配一个固定大小的缓冲区来存储这些失序数据和需要等待一个应用程序读取的数据。如果缓冲区空间不能容纳下更多数据,那么接收端只有将数据丢弃,即使它是成功到达的。接收端的通知窗口字段用来通知发送端还有多少空间可以用于输入数据。如果数据发送的速度快于应用程序处理数据的速度,接收端就会发送一些信息来告知发送端其接收窗口正在减小。在这个跟踪文件中,接收端通知窗口的大小是变化的,从16520个字节到17520个字节。TCP发送

50、端在发送之前有一个容纳数据的有限空间。然而,和接收端不同的是,发送端是限制自己的发送速率。如果缓冲区的空间满了,尝试写入更多数据的应用程序将被阻塞直到有更多的空间可以利用为止。2分组的丢失与重传用显示过滤器tcp.analysis.retransmission搜索重传。在pcattcp_retrans_t.cap中应用该过滤器,在这个跟踪文件中,我们看见分组12是这9次重传的第一次。如下列图3:通过观察分组12的细节,我们发现序号是1001,我们发现分组5也有同样的序号。有趣的是,分组5是对1001到2460号字节的传输,而分组12却是对1001到2000号字节的重传。分组20是对2001到2

51、460号字节的重传。分组4是对1到1000号字节的传输,分组5是对1001到2460号字节的传输,分组7是对2461到3920号字节的传输。我们已检查了发送端上获取的所有跟踪记录。我们从接收端的角度来看同一个连接,我们会发现有些不同。在pcattcp_retrans_r.cap中,我们发现1到1000号字节是在分组4里被传送的,而2461到3920号字节是在分组6而不是分组7中被传送的。在这个跟踪文件中,分组5是1到1000号字节确实认。我们没有看到1001到2460号字节的传输。但是他们确实被传输送了,只是在发送端和接收端的某个环节丢失了。现在我们来看接收端是如何处理这些丢失字节的。在分组4

52、达到以后,接收端会以确认号1001分组5作为响应。在分组6的2461到3920号字节达到之后,接收端仍然以确认号1001分组7作为响应。即使它接到的是附加数据,确认号仍然是它期望收到的下一个有序字节的序号。同样在含有3921到5381号字节的分组8到达之后,接收端仍然以1001响应。最后,1001到2000号字节被重传。在这两次跟踪中,我们都在分组12里看到这种情况。于是接收端增加它确实认号到2001。最终2001到2460号字节被重传。在这次重传之后,接收端可以立即从确认字节2001跳到确认字节11221。四、实验报告内容在实验的根底上,回答以下问题:1、 客户服务器之间用于初始化TCP连接

53、的TCP SYN报文段的序号sequence number是多少?在该报文段中,是用什么来标识该报文段是SYN报文段的?2、 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,ACKnowledgement字段的值是多少?3、 找出pcattcp_retrans_t.cap中所有在到达接收端之前丢失的分组。对于每个丢失的报文段,找出重传分组提示:找出第一个丢失的字节和重传它们的分组4、 当接收端发送一个TCP报文段来确认收到的数据时,这个报文段也可能丢失。在pcattcp_retrans_t.cap和pcattcp_retrans_r.cap中存在这样的丢失吗?你是怎么得到这样的答

54、案的?实验七 利用Wireshark分析协议一、实验目的分析协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。三、实验步骤1、利用Wireshark俘获分组1在进展跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns完成操作。2启动Wireshrk 分组俘获器。3在Web 浏览器中输入:.google.4停止分组俘获。图

55、1 利用Wireshark俘获的分组在URL .google.中,.google. 是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名.google.转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议IP协议,是通过点分十进制来表示因特网主机的,而不是通过.google.这样的域名。当输入URL :/.google.时,将要求Web服务器从主机.google.上请求数据,但首先Web浏览器必须确定这个主机的IP地址。随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送

56、请求“。这个分组描述了要求的行为“GET与文件只写“/是因为我们没有指定额外的文件名,还有所用到的协议的版本“。2、 GET/response交互1在协议框中,选择“ 所在的分组会看到这个根本请求行后跟随着一系列额外的请求首部。在首部后的“rn表示一个回车和换行,以此将该首部与下一个首部隔开。“Host首部在1.1版本中是必须的,它描述了URL中机器的域名,本例中是.google.。这就允许了一个Web服务器在同一时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是1.0到1.1版本的主要变化。User-Agent首部描

57、述了提出请求的Web浏览器与客户机器。接下来是一系列的Accpet首部,包括Accept承受、Accept-Language承受语言、Accept-Encoding承受编码、Accept-Charset承受字符集。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。这些首部明确了客户的能力和偏好。Keep-Alive与Connection首部描述了有关TCP连接的信息,通过此连接发送请求和响应。它明确在发送请求之后连接是否保持活动状态与保持多久。大多数1.1连接是持久的persistent,意思是在每次请求后不关闭TCP连接,而是保持该连接以承

58、受从同一台服务器发来的多个请求。2我们已经观察了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“/1.1 200 ok,指明它开始使用1.1版本来发送网页。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。第一个Cache-control首部,用于描述是否将数据的副本存储或高速缓存起来,以便将来引用。一般个人的Web浏览器会高速缓存一些本机最近访问过的网页,随后对同一页面再次进展访问时,如果该网页仍存储于高速缓存中,如此不再向服务器请求数据。类似地,在同一个网络中的计算机可以共享一些存在高速缓存中的页面,防止多个用户通过到其他网路的低速网路连接

59、从网上获取一样的数据。这样的高速缓存被称为代理高速缓存proxy cache。在我们所俘获的分组中我们看到“Cache-control首部值是“private的。这明确服务器已经对这个用户产生了一个个性化的响应,而且可以被存储在本地的高速缓存中,但不是共享的高速缓存代理。在请求中,Web服务器列出内容类型与可承受的内容编码。此例中Web服务器选择发送内容的类型是text/html且内容编码是gzip。这明确数据局部是压缩了的HTML。服务器描述了一些关于自身的信息。此例中,Web服务器软件是Google自己的Web服务器软件。响应分组还用Content-Length首部描述了数据的长度。最后,

60、服务器还在Date首部中列出了数据发送的日期和时间。根据俘获窗口内容,回答“四、实验报告内容中的1-6题。3、条件GET/response交互1启动浏览器,清空浏览器的缓存。2启动Wireshark分组俘获器,开始Wireshark分组俘获。3在浏览器地址栏中如下 你的浏览器中将显示一个具有五行的非常简单的HTML文件。4在你的浏览器中重新输入一样的URL或单击浏览器中的“刷新按钮。5停止Wireshark分组俘获,在显示过滤筛选说明处输入“,分组列表子窗口中将只显示所俘获到的报文。根据操作回答“四、实验报告内容中的7-10题。4、获取长文件1启动浏览器,将浏览器的缓存清空。2启动Wiresh

61、ark分组俘获器,开始Wireshark分组俘获。3在浏览器地址栏中输入如下网址:浏览器将显示一个相当大的美国权力法案4停止Wireshark分组俘获,在显示过滤筛选说明处输入“,分组列表子窗口中将只显示所俘获到的报文。根据操作回答“四、实验报告内容中的11-14题。5、嵌有对象的HTML文档1启动浏览器,将浏览器的缓存清空。2启动Wireshark分组俘获器。开始Wireshark分组俘获。3在浏览器地址栏中输入如下 浏览器将显示一个具有两个图片的短文件。4停止Wireshark分组俘获,在显示过滤筛选说明处输入“,分组列表子窗口中将只显示所俘获到的报文。根据操作回答“四、实验报告内容中的1

62、5-16题。6、认证1启动浏览器,将浏览器的缓存清空。2启动Wireshark分组俘获器。开始Wireshark分组俘获。3在浏览器地址栏中输入如下 浏览器将显示一个文件,输入所需要的用户名和密码(用户名:wireshark-students,密码:network)。4停止Wireshark分组俘获,在显示过滤筛选说明处输入“,分组列表子窗口中将只显示所俘获到的报文。根据操作回答“四、实验报告内容中的17-18题。四、实验报告内容在实验的根底上,回答以下问题:1你的浏览器运行的是1.0,还是1.1?你所访问的服务器所运行的版本号是多少?2你的浏览器向服务器指出它能接收何种语言版本的对象?3你的计算机的IP地址是多少?服务器gaia.cs.umass.edu的IP地址是多少?4从服务器向你的浏览器返回的状态代码是多少?5你从服务器上所获取的HTML文件的最后修改时间是多少?6返回到你的浏览器的内容以供多少字节?7分析你的浏览器向服务器发出的第一个 GET请求的内容,在该请求报文中,是否有一行是:IF-MODIFIED-SINCE?8分析服务器响应报文的内容,服务器是否明确返回了文件的内容?如何获知?9分析你的浏览器向服务器发出的第二个“ GET请求,在该请求报文中是否有一行是:IF-MODIF

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!