




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./《网络协议分析》实验指导书黄梅根编计算机专业实验中心20XX6月前言《网络协议分析》课程是针对计算机网络工程专业的本科生而设置的一门课程,它具有很强的理论性和实践性。本实验指导书是专门为《网络协议分析》理论课程配套的、指导学生完成相关实验及操作而编写的。本实验指导书按照TCP/IP的层次结构对网络互连中的主要协议进行分析,由下而上的设计了14个实验,涉及协议分析软件的使用、数据链路层协议分析、网络层协议分析、传输层协议分析、应用层协议分析等,共五个部分。希望学生们通过以上实验进一步加深对网络协议的理解和掌握协议分析的方法。根据不同的要求,可以在本指导书的围选择相应的实验容,组合成满足不同需求的实验指南。如16学时的实验可采用:以太网链路层帧格式分析实验、ICMP协议分析实验、IP协议分析实验、ARP协议分析实验、TCP协议分析实验、UDP协议分析实验、FTP协议分析实验、HTTP协议分析实验等8个实验组合;8学时的实验可采用:以太网链路层帧格式分析实验、IP协议分析实验、TCP协议分析实验、FTP协议分析实验等4个实验组合;其余的实验可以作为任选实验或者课下作业。特别说明:1、本指导书中给出的实验网络物理模型,不需要学生动手搭建,所有网络物理模型都基于现有的实验室运行环境。2、本指导书中网络物理模型中所用到的交换机和路由器均为锐捷设备,这里只是为举例方便。如果改换为CISCO或者华为等的相应设备,不影响本实验的步骤和结果。3、由于重邮计算机专业实验室的实验环境有限,本指导书中也有些实验暂时还不完全支持,如:VLAN802.1Q帧格式分析实验;有些实验中所需要的软件名称和版本与实际环境中稍有差别,不需更改;若有需要重新安装或者改用其它的软件代替的,应该根据当堂实验课的指导老师的安排来进行。4、实验中设备的ip地址以实际实验机器的ip地址为准,对应指导书中网络实验模型中的ip地址。目录1.网络协议分析实验环境要求42.网络协议分析器Ethereal52.1Ethereal主窗口简介52.2Ethereal菜单栏简介72.3Ethereal的工具栏72.4Ethereal的网络数据抓包过程82.5由Ethereal协议窗口分析协议的格式113.数据链路层协议分析153.1以太网链路层帧格式分析实验153.2VLAN802.1Q帧格式分析实验184.网络层协议分析244.1ICMP协议分析实验244.2IP协议分析实验304.3IP数据报分片实验334.4ARP协议分析实验355.传输层协议分析385.1TCP协议分析实验395.2UDP协议分析实验446.应用层协议分析476.1DNS协议分析实验476.2FTP协议分析实验526.3HTTP协议分析实验606.4电子相关协议分析实验646.5TELNET协议分析实验721.网络协议分析实验环境要求〔1本指导书按照TCP/IP的层次结构对网络互连中的主要协议进行分析。本章实验的基本思路是使用协议分析工具从网络中截获数据报,对截获的数据报进行分析。通过试验,使学生了解计算机网络中数据传输的基本原理,进一步理解计算机网络协议的层次结构、协议的结构、主要功能和工作原理,以及协议之间是如何相互配合来完成数据通信功能的。Windows环境下常用的协议分析工具有:SniferPro、Natxray、Iris、Ethereal以及Windows2000自带的网络监视器。本书选用Ethereal作为协议分析工具。〔2网络协议图2.网络协议分析器Ethereal网络协议分析器网络协议分析器Ethereal是目前最好的、开放源码的、获得广泛应用的网络协议分析器,支持Linux和windows平台。在该系统中加入新的协议解析器十分简单,自从1998年发布最早的Ethereal0.2版本发布以来,志愿者为Ethereal添加了大量新的协议解析器,如今Ethereal已经支持五百多种协议解析。其原因是Ehereal具有一个良好的可扩展性的设计结构,这样才能适应网络发展的需要不断加入新的协议解析器。本节以Ethereal版本为依据。Ethereal的安装比较简单,按下述网址下载,下载完Ethereal即可完成安装。软件及工具〔登陆时,无密码。新版本Ethereal已经整合了winpcap,应用比较方便。2.1Ethereal主窗口简介图1是抓包完成后的Ethereal的主窗口。过滤栏以上是Ethereal本身的菜单,过滤栏以下是抓获的包经过分析后的显示信息。图1抓包完成后的Ethereal主窗口其中:1.菜单栏通常用来启动Ethereal有关操作;2.工具栏提供菜单中常用项目的快速访问;3.过滤器栏提供一个路径,来直接控制当前所用的显示过滤器;4.包列表窗格显示当前抓包文件的全部包的摘要。包列表的每一行对应抓包文件中的一个包,不同报文有不同的颜色,但是没有明显的规律。如果你选择了一行,则更详细的信息显示在协议窗格和包字节数据窗格中。注意:在此窗格里单击某个包,就会在另外的第二个窗口里显示这个包的信息。当Ethereal解析一个包时,由协议解析器将信息放置到行列中去,比较高级协议会改写较低级协议的信息,你只能看到最高级协议的信息。例如,IP部包含有TCP的Ethernet包,Ethernet解析器将写出它的数据〔如Ethernet地址,而IP解析器将用自己的数据改写它〔如IP地址,等等。在包列表窗格中的每一列代表抓获的一个包,每个包的摘要信息包括:*No:抓包文件中包的编号。,即使已经用了一个显示过滤器也不会改变。*Time:包的时间戳,即抓获该包的时间,该时间戳的实际格式可以改变。*Source:包的源地址。*Destination:包的目标地址。*Protocol:包协议的缩写。*Info:包容的附加信息,这是一种可用的上下文菜单〔鼠标右键。5.包协议窗格〔包细节窗格包协议窗格以更详细的格式显示从包列表窗格选中的协议和协议字段。包的协议和字段用树型格式显示,可以扩展和收缩。这是一种可用的上下文菜单,单击每行前的"+"就可以展开为以"-"开头的若干行,单击"-"又可以收缩。在每个协议行中,会显示一些指定的协议字段:〔1生成的字段:Ethereal自己会生成附加的协议字段〔括号括起来者。这些字段的信息是从抓包文件中已知的与其它字段的上下文推导出来的。例如,Ethereal分析每个TCP流的顺序号/确认号时,就会在TCP协议的[SEQ/ACK分析]中显示出来。〔2:如果Ethereal检测到抓包文件中存在着与其它包的关系,就会产生一个到其它包的。用蓝色显示,双击它,Ethereal就跳到相应的包。6.包字节窗格〔十六进制数据窗格包字节窗格以十六进制形式显示出从包列表窗格中选定的当前包的数据,并以高亮度显示在包协议窗格中选择的字段。在常用的十六进制区,左边示出包数据的编号,中部为相应的十六进制示出包数据,右边为对应的ASCII字符。7.状态栏显示当前程序状态和抓获的数据的信息。通常左边显示相关信息的状态,右边显示包的当前数目。<a><b>图2状态栏示例示例<a>图示出没有装载抓包文件,即Ethereal开始时的情况。<b>图为已经装载抓包文件时的状态栏。左边显示关于抓包文件的名字、大小、开始抓包经过的时间等信息。右边显示抓包文件中包的当前数目。显示的数值如下:*P:抓获包的数目;*D:当前正显示的包的数目;*M:已经标记的数目。2.2Ethereal菜单栏简介1.File文件菜单文件菜单包括打开和合并抓包文件,全部或部分存储、打印、输出抓包文件,退出Ethereal。2.Edit编辑菜单编辑菜单包括查询包,时间查询,标记或标识一个或多个包,设置你的选项〔剪切,拷贝,粘贴当前不能实现3.View视图菜单视图菜单控制抓抓获的包数据的显示,包括对抓获包的着色,字型的缩放,协议窗格中协议树的压缩和展开。4.Go指向菜单以不同方式指向特定的包。5.Capture抓包菜单开始和停止抓包过程以及编辑抓包过滤器。6.Analyze分析菜单包括的选项由操作显示过滤器,允许和不允许对协议解析,配置用户指定的译码器和跟踪一个TCP流。7.Statistics统计菜单显示各种统计窗口的菜单项,包括已经抓到的包的摘要,显示协议的分层统计等等。8.Help帮助菜单包括帮助用户的选项,诸如一些基本帮助,所支持的协议列表,手工页面,在线访问一些web页面,以及常用的对话框。2.3Ethereal的工具栏Ethereal工具栏提供主菜单中常用的选项的快速访问。工具栏不能由用户定制,但是如果屏幕空间需要显示更多的包数据,就可以用视图菜单将它隐蔽。作为菜单,只有当前程序被选用时该选项才是可用的,其它选项变成灰色〔如果尚未装载数据就不能存入抓包文件。图3为各种工具图标的名称。接口选项开始停止重开始打开存储为关闭重载打印查询包向后向前指定包到首包到末包包着色卷屏放大取消放大图3各种工具图标的名称*接口:单击此图标,出现一个抓包选项表对话框;*选项:引出一个抓包选项对话框;*开始:根据选项在最近时间开始抓包;*停止:停止当前运行的抓包过程;*重开始:为了方便起见,停止当前运行的抓包过程,重新开始;*打开:出现打开文件对话框,让你打开一个抓包文件来观察;*存储为:让你将当前的抓包文件存储为你希望的文件。弹出"SaveCaptureFileAs"对话框;*关闭:关闭当前的抓包文件,如果没有存储该包被会询问是否存储;*重载:允许重装当前的抓包文件;*打印:引出打印对话框,允许全部或部分打印包文件中的包;*查询包:引出查询一个包的对话框;*向后:在包历史中向回跳;*向前:在包历史中向前跳;*指定包:引出对话框,跳到指定编号的包;*到首包:跳到包文件中第一个包;*到末包:跳到包文件中最后一个包;*着色:对包列表中抓获的色,用不同颜色显示;*放大:放大打开的包数据〔增大字型;*取消放大:取消包数据放大。2.4Ethereal的网络数据抓包过程Ethereal的抓包有如下特征:*可以从不同类别的网络硬件抓包,如Ethernet、TokenRing、ATM等;*停止抓包时不同的触发器相似:如抓获数据的总数、抓包时间,抓获包的数目;*抓包过程中同时显示编译后〔解析的包。*根据包过滤器的条件,从抓获的全部数据中进行过滤,减去符合条件的包。使用Ethereal进行网络协议分析时应当注意:必须有管理员权限才能开始抓包过程;必须选择正确的网络接口来抓获包数据;必须在网络的正确的位置抓包才能看到想看到的业务流量。1.通过抓包接口开始抓包.通过抓包接口开始抓包可以通过工具栏的接口选项,或者"Capture"菜单的"Interfaces"选项选择抓包菜单后,Etherea弹出抓包接口对话框,如图4所示。但需注意,作为抓包接口对话框,只在数据抓包前显示,会消耗很多系统资源,要尽快关闭对话框以防止过多的系统装载。图4抓包接口对话框图中Gnericdialupadapter为拨号适配器,第二行为快速以太网网卡。工具栏框中的各个选项叙述于下:*IP:Ethereal可能从这个接口分辨第一个IP地址,如果分辨不出地址,就会显示"unknown",如果解析出不止一个IP地址,则只显示第一个;*Packets:从对话框打开后从该接口侦测到的包数。如果最近一秒没有侦测到包,则Packets变为灰色;*Packets/s:在最近一秒侦测到的包数,如果没有侦测到包,则在最近一秒变为灰色;*Stop:停止当前抓包运行;*Capture:利用最后抓包设置立即在该接口开始抓包;*Prepare:打开该接口的抓包选项对话框;*Close:关闭对话框。如果选择Capture,则立即开始抓包,并显示图5的抓包过程数据报文统计:图5抓包过程数据报文统计抓到足够的包后,单击Stop停止抓包。即可显示如图1的抓包完成后的Ethereal主窗口。2.通过.通过capture菜单选项抓包Ethereal的抓包〔capture选项,如图6所示。图6Capture选项〔1单击Capture选抓包过滤器CaptureFilters...,弹出过滤器窗口,如图7所示。图7Capture过滤器选项〔2在Filter栏中选择某项过滤器名称,如"NoBroadcastandnoMulticast"或"TCPonly",则在Filtername和Filterstring文本框中显示你的选项。也可以在Filtername框中键入过滤器名字,在Filterstring框中键入过滤器字符串,单击New,一个过滤器就建立好了。单击Capture选0ptions,弹出图8所示过滤器选项窗口,指明网络适配器,抓包模式,包字节限制,过滤条件等有关抓包的系统配置的启用和设置。图8过滤器选项窗口〔3Ehereal的抓包过滤器抓包过滤器用来只抓取你感兴趣的包。如果你想抓取某些特定的数据包时,有两种方法可供选择。第一种方式是先定义好抓包过滤器,结果是只抓到你设定好的那些类型的数据包;第二种方式是,先把本机收到或者发出的包全部抓下来,再使用的显示过滤器,只显示你想要的那些类型的数据包,这种方式比较常用,建议实验时大家采用。〔4最后单击Start,即可开始抓包,并弹出本机收到的数据报文统计信息。此后的操作与通过接口抓包相同,单击Stop即可停止抓包,并显示对截获到的报文进行分析后的界面。2.5由Ethereal协议窗口分析协议的格式Ethereal抓包后的界面有三个部分,上部为报文列表窗口,显示的是对抓到的每个数据报文进行分析后的总结型信息,包括编号、时间、源地址、目标地址、协议、信息。中部为协议树窗口,显示的是数据报文的协议信息。在报文列表窗口选择不同条目则协议树窗口的容随之改变为相应的协议信息。下部为16进制报文窗口,可以显示报文在物理层的数据形式。在抓包完成后,显示过滤器可以用来找到你感兴趣的包,也可根据协议、是否存在某个域、域值、域值之间的关系来查找你感兴趣的包。1..Etheral的显示过滤器可以使用下面的操作符来构造显示过滤器:eq==等于:如ip.addr==.20ne!=不等于:如ip.addr!=.20gt>大于:如frame.pkt_len>10lt<小于:如lt<frame.pkt_len<10ge>=大等于:如frame.pkt_len>=10le<=小等于:如frame.pkt_len<=10也可以使用下面的逻辑操作符将表达式组合起来:and&&逻辑与:如ip.addr=.20&&tcp.flag.finor||逻辑或:如ip.addr=.20||ip.addr=1xor^^异或:如tr.dst[0:3]==xortr.src[0:3]==not!逻辑非:如!llc例如:你想抓取IP地址是0的主机所收或发的所有的HTTP报文,则显示过滤器〔Filter为:ip.addr=0andhttp图9组合过滤器设置注意:当在Filter的输入,显示绿色背景时〔图9上图说明表达式是正确的,显示红色背景时〔图9下图说明表达式是错误的。又例如,你只想查看使用tcp协议的包,在Ethereal窗口Filter栏中输入tcp,然后回车,Ethereal就会只显示tcp协议的包。2.实例分析下面的分析示例是通过上网查询"TCP/IP",然后运行ethereal抓包。抓包过程为:单击Capture-按默认过滤器-Start-抓包2分钟-Stop,获得图10的结果。图10上网查询抓包结果由于Ethereal已经对抓包结果做了分析,所以,通过协议窗口可以获得IP协议数据报格式和TCP协议报文格式的具体数据。在图10中,各个窗口都可以用拖拉方法拉大或缩小,即可与十六进制窗口相结合,清楚地看到各个字段的数据。其方法如下:〔1最初协议窗口显示了协议信息,单击第一条信息,则十六进制窗口的中对应的信息变为黑底白字,如图11所示:图11单击frame11494字节改变颜色〔2每条信息头部有一个"+"号,单击"+"则变为"-",具体的协议信息即展开并显示在协议窗口,图12所示为Internetprotocol协议展开的图示:图12单击IP协议的展开图由图12可见,IP协议源地址为6,目标地址为89,版本为IPV4,报头长度为20字节。对应的十六进制数据为450005c8a570400034065c72dbef581a〔3TCP协议的展开图13TCP协议的展开图图13为TCP协议的展开图,由图可见源端口号为http〔80,对应的十六进制为0050,目标端口号为4579,顺序号为0,下一顺序号为1440,确认号为0,报头长20字节,其后还可以看到保留位和6个控制位的设置情况等等。TCP/IP协议的报文格式此处没有列出,请读者自己对照,即可得知Ethereal已经对抓包结果做了准确的分析。3.数据链路层协议分析TCP/IP协议栈分为四层,从下往上依次为网络接口层、网际层、传输层和应用层,而网络接口层没有专门的协议,而是使用连接在Internet网上的各通信子网本身所固有的协议。如以太网〔Ethernet的802.3协议、令牌环网〔TokenRing的802.5协议、分组交换网的X.25协议等。目前Ethernet网得到了广泛的应用,它几乎成为局域网代名词。因此,这一部分将对以太网链路层的帧格式和802.1Q帧格式进行分析验证,使学生初步了解TCP/IP链路层的主要协议以及这些协议的主要用途和帧结构。3.1以太网链路层帧格式分析实验1.以太网简介IEEE802参考模型把数据链路层分为逻辑链路控制子层〔LLC,LogicalLinkControl和介质访问控制子层〔MAC,MediaAccessControl。与各种传输介质有关的控制问题都放在MAC层中,而与传输介质无关的问题都放在LLC层。因此,局域网对LLC子层是透明的,只有具体到MAC子层才能发现所连接的是什么标准的局域网。IEEE802.3是一种基带总线局域网,最初是由美国施乐〔Xerox于1975年研制成功的,并以曾经在历史上表示传播电磁波的以太〔Ether来命名。1981年,施乐公司、数字设备公司〔Digital和英特尔〔Intel联合提出了以太网的规约。1982年修改为第二版,即DIXEthernetV2,成为世界上第一个局域网产品的规。这个标准后来成为IEEE802.3标准的基础。在802.3中使用1坚持的CSMA/CD〔CarrierSenseMultipleAccesswithCollisionDetection协议。现在流行的以太网的MAC子层的帧结构有两种标准,一种是802.3标准,另一种是DIXEthernetV2标准。图14802.3和EthernetV2MAC帧结构图14画出了两种标准的MAC帧结构。它们都是由五个字段组成。MAC帧的前两个字段分别是目的地址字段和源地址字段,长度是2或6字节。但在IEEE802.3标准规定对10Mb/s的基带以太网则使用6字节的地址字段。两种标准的主要区别在于第三个字段〔2字节。在802.3标准中,这个字段是长度字段,它指后面的数据字段的字节数,数据字段就是LLC子层交下来的LLC帧,其最小长度46字节,最大长度1500字节。在EthernetV2标准中,这个字段是类型字段,它指出LLC层使用的协议类型。由于数据字段的最大长度为1500字节,因此,以太网V2标准中将各种协议的代码规定为大于1500的数值,这样就不至于发生误解,并借此实现兼容。最后一个字段是一个长度为4字节的帧校验序列FCS,它对前四个字段进行循环冗余〔CRC校验。为了使发送方和接收方同步,MAC帧在总线上传输时还需要增加7个字节的前同步码字段和1字节的起始定界符〔它们是由硬件生成的,其中前同步码是1和0的交替序列,供接收方进行比特同步之用;紧跟在前同步码之后的起始定界符为10101011,接收方一旦接收到两个连续的1后,就知道后面的信息就是MAC帧了。需要注意的是前同步码、起始定界符和MAC帧中的FCS字段在网卡接收MAC帧时已经被取消,因此,在截获的数据报中看不到这些字段。注意:由于802.3标准在MAC帧中封装802.2帧,相比EthernetV2增加了8个字节的开销,而且实践表明,这样做过于繁琐,使得其在实际中很少得到使用。因此,本节实验中重点分析EthernetV2MAC帧格式,802.3MAC帧不作具体讨论。2.实验环境与说明〔1实验目的了解EthernetV2标准规定的MAC帧结构,初步了解TCP/IP的主要协议和协议的层次结构。〔2实验设备和连接实验设备和连接图如图15所示,一台锐捷S2126G交换机连接了2台PC机,分别命名为PC1、PC2,交换机命名为Switch。图15Ethernet链路层帧结构实验连接图〔3实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。3.实验步骤步骤1:按照如图15所示连接好设备,配置PC1和PC2的IP地址;〔编者注:实验室中任何一台PC都可以作为模型中的PC1或PC2。步骤2:在:PC1和PC2上运行Ethereal截获报文,为了只截获和实验容有关的报文,将Ethereal的CaptrueFilter设置为"NoBroadcastandnoMulticast";步骤3:在:PC1的"运行"对话框中输入命令"Ping02”步骤4:停止截获报文:将结果保存为MAC-学号,并对截获的报文进行分析:1列出截获的报文中的协议类型,观察这些协议之间的关系。________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________2在网络课程学习中,EthernetV2规定以太网的MAC层的报文格式分为7字节的前导符、1字节的帧首定界、6字节的目的MAC地址、6字节的源MAC地址、2字节的类型、46~1500字节的数据字段和4字节的帧尾校验字段。分析一个EthernetV2帧,查看这个帧由几部分组成,缺少了哪几部分?为什么?________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________步骤5:在:PC1和PC2上运行Ethereal截获报文,然后进入PC1的Windows命令行窗口,执行如下命令:netsend02Hello这是PC1向PC2发送消息的命令,等到PC2显示器上显示收到消息后,终止截获报文。注意PC1和PC2的信使服务应启动。找到发送消息的报文并进行分析,查看主窗口中数据报文列表窗口和协议树窗口信息,填写下表:表1报文分析此报文类型此报文的基本信息〔数据报文列表窗口中的Information项的容EthernetII协议树中Source字段值Destination字段值InternetProtocol协议树中Source字段值Destination字段值UserDatagramProtocol协议树中Source字段值Destination字段值应用层协议树协议名称包含Hello的字段值3.2VLAN802.1Q帧格式分析实验1.IEEE802.1Q介绍我们知道VLAN具有控制网络广播、提高网络性能;分隔网段、确保网络安全;简化网络管理、提高组网灵活性的功能。VLAN划分的方法有很多种,其中基于端口的静态VLAN是划分虚拟局域网最简单也是最有效的方法。基于端口的VLAN〔PortVLAN将交换机按照端口的VLANID指定实现了逻辑划分,广播域被限定在相同VLAN的端口集合中,不同VLAN间不能直接通信。当使用多台交换机分别配置VLAN后,可以使用Trunk〔干道方式实现跨交换机的VLAN部连通,交换机的Trunk端口不隶属于某个VLAN,而是可以承载所有VLAN的帧。这种实现跨交换机的VLAN技术在早期使用帧过滤,而目前的国际标准规定采用帧标记。跨交换机的VLAN实现使得网络管理的逻辑结构可以完全不受实际物理连接的限制,极提高了组网的灵活性。1996年3月,IEEE802.1InternetWorking委员会结束了对VLAN初期标准的修订工作,统一了Frame-Tagging〔帧标记方式中不同厂商的标签格式,制定IEEE802.1QVLAN标准,进一步完善了VLAN的体系结构。如图16所示,IEEE802.1Q使用4Byte的标记头来定义Tag〔标记。Tag头中包括2Byte的VPID〔VLANProtocolIdentifier和2Byte的VCI〔VLANControlInformation。图16802.1Q帧格式其中:*VPID为0X8100,标识该数据帧承载IEEE802.1Q的Tag信息;*VCI包含组件:*3bits用户优先级;*1bitsCFT〔CanonicalFormatIndicator,默认值为0〔表示以太网;*12bits的VID〔VLANIdentifier,VLAN标识符;注意:交换机可以配置的VLAN数量因设备而异,实验室的S2126/S3550/S3760最多支持250个VLAN〔VLANID:1~4094,其中VLAN1是不可删除的默认VLAN〔设备管理。图16比较了以太网帧格式和802.1Q帧格式,注意802.1Q帧中的FCS为加入802.1Q帧标记后重新利用CRC校验后的检测序列。IEEE802.1Q协议使跨交换机的相同VLAN端口间通信成为可能。基于802.1QTagVLAN用VID来划分不同VLAN,当数据帧通过交换机的时候,交换机根据帧中Tag头的VID信息来识别它们所在的VLAN〔若帧中无Tag头,则应用帧所通过端口的默认VID来识别它们所在的VLAN。这使得所有属于该VLAN的数据帧,不管是单播帧、组播帧还是广播帧,都将被限制在该逻辑VLAN中传输。图17TagVLAN通信如图17所示,两台S2126交换机分别划分出VLAN1和VLAN2,分别设置级联口为Trunk模式。PC1和PC3属于VLAN1,PC2和PC4属于VLAN2。PC2和PC4通信必须跨两台交换机。当PC2发出数据时,在没有进入交换机端口之间,数据帧头部并没有被加入Tag标识,是标准的以太帧格式;当数据帧进入交换机端口后,数据头部首先被加入该端口所属的VID,这时交换机就按照目的地址转发,在VID=2的广播域中传送该帧。但第一台交换机并没有直接连接PC4,因此数据只能发往通向潜在PC4连接的级联端口,该口是Taged口,当数据从Taged端口转发时,即加入Tag标识〔VID=2,使用802.1Q的封装格式;第二台交换机在由级联口接收时可以根据Tag标识而将该帧在VLAN2上广播出去,根据MAC地址连接PC4的端口就会收到该数据帧;该端口将去掉Tag标识后,转发数据帧至PC4。由此就实现了跨交换机的VLAN通信,同理,PC1和PC3之间也可以实现数据通信。2.镜像在图17中,IEEE802.1Q帧在交换机的Taged端口之间,PC机使用以太帧,在PC机上运行的Ethereal是无法捕获IEEE802.1Q数据帧的。为了抓到和分析IEEE802.1Q数据帧,我们在实验中可以通过镜像的手段来捕获IEEE802.1Q数据帧。在网络维护和故障排除的过程中,我们首先会根据已有的网络现象进行故障分析和判断,但如果掌握的信息不足,或者是网络需要进一步监控时,镜像就成为一种重要的数据监控方法。镜像分为两种:一种是端口镜像,另一种是流镜像。端口镜像是指将某些指定端口〔出或入方向的数据流量映射到监控端口,以便集中使用数据捕获软件进行数据分析。流镜像则是指按照一定的数据流分类规则对数据进行镜像,然后将属于指定流的所有数据映射到监控端口,以便进行数据分析。在锐捷S2126/S3550交换机上配置镜像的命令为:monitorsession。monitorsession用于创建一个SPAN会话并指定目的端口〔监控口和源端口〔被监控口。使用该命令的no选项删除会话或者单独删除源端口或目的端口。其格式如下:monitorsessionsession_number{sourceinterfaceinterface-id[,|-][both|rx|tx]|destinationinterfaceinterface-id}nomonitorsessionsession_number[sourceinterfaceinterface-id[,|-][both|rx|tx]|destinationinterfaceinterface-id]有关格式要求参见表2所示。表2monitorsession的语法描述下面这个例子说明了如何创建一个SPAN会话:会话1。如果原先已经设置过该会话,请首先将当前会话1的配置清除掉,然后设置端口1的帧映射到端口8。Switch<config>#nomonitorsession1Switch<config>#monitorsession1sourceinterfacefastEthernet1/1bothSwitch<config>#monitorsession1destinationinterfacefastEthernet1/83.实验环境与说明〔1实验目的了解IEEE802.1Q标准规定的帧结构,了解VLAN帧标记的方法。〔2实验设备和连接实验设备和连接图如图18所示,一台锐捷S2126G交换机连接一台S3550,S2126同时连接了2台PC机,分别命名为PC1、PC2。图18802.1Q帧格式分析实验连接图〔3实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。4.实验步骤步骤1:按照如图18所示连接好设备;步骤2:完成交换机S3550和S2126的相关配置,要求如下:*在S2126和S3550上创建VLAN10和VLAN20;*将S2126的F0/1指定为VLAN10,F0/2指定为VLAN20;*通过三层交换机S3550实现PC1和PC2的连通;*通过端口镜像,使得PC3可以监控S2126的F0/4。关于交换机VLAN和SVI的配置由于在第三章实验中已经做过,这里不再重复。为保证实验的顺利,同学可以参考下面的配置:①S2126的配置的配置::Switch<config>#hostnameS2126!配置设备名为S2126S2126<config>#vlan10!启用Vlan10S2126<config-vlan>#nameTest10S2126<config-vlan>#exitS2126<config>#vlan20!启用Vlan20S2126<config-vlan>#nameTest20S2126<config-vlan>#exitS2126<config>#interfacefastEthernet0/1S2126<config-if>#switchportaccessvlan10!指定F0/1端口为Vlan10S2126<config-if>#interfacefastEthernet0/2S2126<config-if>#switchportaccessvlan20!指定F0/2端口为Vlan10S2126<config-if>#interfacefastEthernet0/4S2126<config-if>#switchportmodetrunk!配置F0/4为Tagged端口S2126<config-if>#exitS2126<config>#monitorsession1sourceinterfacefastEthernet0/4both!镜像源端口S2126<config>#monitorsession1destinationinterfacefastEthernet0/3!镜像目的端口S2126<config>#end②S3550的配置的配置::Switch<config>#hostnameS3550!配置设备名为S3550S3550<config>#vlan10!启用Vlan10S3550<config-vlan>#nameTest10S3550<config-vlan>#exitS3550<config>#vlan20!启用Vlan20S3550<config-vlan>#nameTest20S3550<config-vlan>#exitS3550<config>#interfacefastEthernet0/4S3550<config-if>#switchportmodetrunk!配置F0/4为Tagged端口S3550<config-if>#exitS3550<config>#interfacevlan10!配置SVI端口S3550<config-if>#ipaddressS3550<config-if>#noshutdownS3550<config-if>#exitS3550<config>#interfacevlan20!配置SVI端口S3550<config-if>#ipaddressS3550<config-if>#noshutdownS3550<config-if>#end③PC1和和PC2的配置的配置::按照下表要求配置PC1和PC2。表3PC1和PC2的TCP/IP属性PC1PC2IP地址0子网掩码步骤3:在PC3上运行Ethereal截获报文;步骤4:在PC1的"运行"对话框中输入命令"Ping0”步骤5:停止截获报文,将结果保存并对截获的报文进行分析:图19IEEE802.1Q抓包结果图19显示了通过PC3监控到的交换机Trunk口的数据流量,分析这些数据包并回答下列问题:1S2126配置monitorsession1,是端口镜像还是流镜像?___________________________________2观察捕获的ICMP数据报,你会发现每组4个,共有4组。为什么会这样?_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________3选择其中一组ICMP数据报,分析并完成下表。表4报文分析ICMPEcho〔pingRequest1源IP目的IP源MAC目的MACVLANIDICMPEcho〔pingRequest2源IP目的IP源MAC目的MACVLANIDICMPEcho〔pingReply1源IP目的IP源MAC目的MACVLANIDICMPEcho〔pingReply2源IP目的IP源MAC目的MACVLANID4请就表4的容说明上述报文的执行过程。_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________4.网络层协议分析该层是网络互联层,负责相邻计算机之间的通信。该层上的主要协议是IP协议,此外,这一层还包括三个子协议:ICMP协议、ARP协议和RARP协议。*互联网控制信息协议〔ICMP,InternetControlMessageProtocolICMP是TCP/IP协议簇的的一个子协议,它和IP协议属于同一层,但ICMP数据报是被封装在IP数据报中发送的。ICMP协议通常被用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。该协议经常被用作调试和监视网络。*网际协议〔IP,InternetProtocol这个协议是TCP/IP协议中最主要的协议之一,他负责处理来之传输层的分组发送请求和输入的数据报文。该层以上各层的协议都要使用IP协议。*地址解析协议〔ARP和反地址解析协议〔RARP,ReverseAddressResolutionProtocol它们分别负责实现从IP地址到物理地址〔如以太网网卡MAC地址和从物理地址到IP地址的映射。4.1ICMP协议分析实验ICMP协议介绍ICMP〔InternetControlMessageProtocol是因特网控制报文协议[RFC792]的缩写,是因特网的标准协议。ICMP允许路由器或主机报告差错情况和提供有关信息,用以调试、监视网络。〔1ICMP的报文格式图20ICMP回送请求和应答报文格式在网络中,ICMP报文将封装在IP数据报中进行传输。由于ICMP的报文类型很多,且又有各自的代码,因此,ICMP并没有一个统一的报文格式供全部ICMP信息使用,不同的ICMP类别分别有不同的报文字段。ICMP报文只在前4个字节有统一的格式,即类型、代码和校验和3个字段。接着的4个字节的容与ICMP报文类型有关。图20描述了ICMP的回送请求和应答报文格式,ICMP报文分为首部和数据区两大部分。其中:*类型:一个字节,表示ICMP消息的类型,容参见表5;*代码:一个字节,用于进一步区分某种类型的几种不同情况;*校验和:两个字节,提供对整个ICMP报文的校验和;〔2ICMP的报文类型ICMP报文的种类可以分为ICMP差错报告报文和ICMP询问报文两种,表5列出了已定义的几种ICMP消息。表5ICMP消息及类型码类型的值ICMP消息类型类型的值ICMP消息类型0回送<Echo>应答12参数出错报告3目的站点不可达13时间戳<Timestamp>请求4源站点抑制<Sourcequench>14时间戳<Timestamp>应答5路由重定向<Redirect>15信息请求8回送请求16信息应答9路由器询问17地址掩码<Addressmask>请求10路由器通告18地址掩码<Addressmask>应答11超时报告其中差错报告报文主要有目的站点不可达、源站点抑制、超时、参数问题和路由重定向5种;ICMP询问报文有回送请求和应答、时间戳请求和应答、地址掩码请求和应答以及路由器询问和通告4种。〔3ICMP常见的消息类型下面介绍几种常用的ICMP消息类型。*目的站点不可达〔3产生"目的站点不可达"的原因有多种。在路由器不知道如何到达目的网络、数据报指定的源路由不稳定、路由器必须将一个设置了不可分段标志的数据报分段等情况下,路由器都会返回此消息。如果由于指明的协议模块或进程端口未被激活而导致目的主机的IP不能传送数据报,这时目的主机也会向源主机发送"目的站点不可达"的消息。为了进一步区分同一类型信息中的几种不同情况,在ICMP报文格式中引入了代码字段,该类型常见信息代码及其意义如下:表6ICMP类型3的常见代码代码描述处理代码描述处理0网络不可达;无路由到达主机1主机不可达;无路由到达主机2协议不可用;连接被拒绝3端口不可达;连接被拒绝4需分段但DF值为0;报文太长5源路由失败;无路由到达主机*源站点抑制〔4此消息类型提供了流控制的一种基本形式。当数据报到达得太快,路由器或主机来不及处理时,这些数据报就必须被丢弃。丢弃数据报的计算机就会发一条"源站点抑制"的ICMP报文。"源站点抑制"消息的接收者就会降低向该消息发送站点发送数据报的速度。*回送请求〔8和回送应答〔0这两种ICMP消息提供了一种用于确定两台计算机之间是否可以进行通信的机制。当一个主机或路由器向一个特定的目的主机发出ICMP回送请求报文时,该报文的接收者应当向源主机发送ICMP回送应答报文。*时间戳请求〔15和时间戳应答〔16这两种消息提供了一种对网络延迟进行取样的机制。时间戳请求的发送者在其报文的信息字段中写入发送消息的时间。接收者在发送时间戳之后添加一个接收时间戳,并作为时间戳应答消息报文返回。*地址掩码请求〔17和地址掩码应答〔18主机可以用"地址掩码请求"消息来查找其所连接网络的子网掩码。主机在网络上广播请求,并等待路由器的包含子网掩码的"地址掩码应答"消息报文的到来。*超时报告〔11当一个数据报的TTL值到达0时,路由器将会给源主机发送超时报文。2.基于ICMP的应用程序目前网络中常用的基于ICMP的应用程序主要有ping命令和tracert命令。〔1ping命令Ping命令是调试网络常用的工具之一。它通过发出ICMPEcho请求报文并监听其回应来检测网络的连通性。图21显示了Ethereal捕获的ICMPEcho请求报文和应答报文。图21ICMPEcho请求报文和应答报文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的远程计算机。〔2Traceroute命令Traceroute命令用来获得从本地计算机到目的主机的路径信息。在MSWindows中该命令为Tracert,而UNIX系统中为Traceroute。Tracert先发送TTL为1的回显请求报文,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。它所返回的信息要比ping命令详细得多,它把您送出的到某一站点的请求包,所走的全部路由均告诉您,并且告诉您通过该路由的IP是多少,通过该IP的时延是多少。Tracert命令同样要在安装了TCP/IP协议之后才可以使用,其命令格式为:tracert[-d][-hmaximum_hops][-jcomputer-list][-wtimeout]target_name参数含义为:*-d:不解析目标主机的名称;*-h:指定搜索到目标地址的最大跳跃数;*-j:按照主机列表中的地址释放源路由;*-w:指定超时时间间隔,程序默认的时间单位是毫秒。3.实验环境与说明〔1实验目的掌握ping和tracert命令的使用方法,了解ICMP协议报文类型及其作用。执行ping和tracert命令,分别截获报文,分析截获的ICMP报文类型和ICMP报文格式,理解ICMP协议的作用。〔2实验设备和连接实验设备和连接图如图22所示,一台锐捷R1760路由器连接2台PC机,分别命名为PC1、PC2。图22ICMP协议分析实验连接图〔3实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。4.实验步骤步骤1:按照如图22所示连接好设备;步骤2:完成路由器和PC1、PC2的相关配置;〔编者注:实验室中任何一台PC都可以作为模型中的PC1。PC2用25等另一网段机器代理即可。路由器的配置参考如下:router#configureterminalrouter<config>#interfacefastEthernet1/0router<config-if>#ipaddressrouter<config-if>#noshutdownrouter<config-if>#interfacefastEthernet1/1router<config-if>#ipaddressrouter<config-if>#noshutdownPC1和PC2的IP地址、子网掩码、网关按照图中有关参数配置。步骤3:分别在PC1和PC2上运行Ethereal,开始截获报文,为了只截获和实验容有关的报文,将Ethereal的CaptrueFilter设置为"NoBroadcastandnoMulticast";步骤4:在PC1上以PC2为目标主机,在命令行窗口执行Ping命令;请写出执行的命令:_____________________________________________________步骤5:停止截获报文,将截获的结果保存为ICMP-1-学号,分析截获的结果,回答下列问题:1您截获几个ICMP报文?分别属于那种类型?__________________________________________________________________________________________________________________________________________________________2分析截获的ICMP报文,查看表7中要求的字段值,填入表中。表7ICMP报文分析报文号源IP目标IPICMP报文格式类型代码标识序列号3分析在上表中哪个字段保证了回送请求报文和回送应答报文的一一对应,仔细体会Ping命令的作用。_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________步骤6:在PC1上运行Ethereal开始截获报文;步骤7:在PC1上执行Tracert命令,向一个本网络中不存在的主机发送数据报,如:Tracert00;步骤8:停止截获报文,将截获的结果保存为ICMP-2-学号,分析截获的报文,回答下列问题:1截获了报文中哪几种ICMP报文?其类型码和代码各为多少?_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________2在截获的报文中,超时报告报文的源地址是多少?这个源地址指定设备和PC1有何关系?_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________3通过对两次截获的ICMP报文进行综合分析,仔细体会ICMP协议在网络中的作用。_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________4.2IP协议分析实验1.IP协议介绍〔1IP地址的编址方法IP地址是为每个连接在互联网上的主机分配的唯一识别的32位标识符。IP地址的编址方法共经历了三个阶段:*分类的IP地址这是一种基于分类的两级IP地址编址的方法。表8IP地址的分类IP地址类型第一字节十进制围二进制固定最高位二进制网络位二进制主机位A类1-12608位24位B类128-1911016位16位C类192-22311024位8位D类224-2391110组播地址E类240-2541111保留试验使用如表8所示,IP地址分为A,B,C,D,E五类,其中A、B、C类地址为可分配主机地址,而D类地址为组播地址,E类地址保留以备将来的特殊使用。IP地址采用点分十进制方式记录,每个地址表被视为4个以点分隔开的十进制整数,每个整数对应一个字节。A、B、C三类地址由两部分组成:网络地址和主机地址,这三类地址的网络地址部分的长度不一样。每个A类地址的网络中可以有1600万台主机;每个B类地址的网络中可以有65534台主机;每个C类地址的网络中可以有254台主机。这样对于一个共有几十台计算机的局域网来说即使分配一个C类地址也是一种浪费。为此,提出了子网和子网掩码的概念。*划分子网的IP地址子网就是将一个A类、B类或C类网络分割成许多小的网络,每一个小的网络就称为子网。划分子网采用"网络号"+"子网号"+"主机号"三级编址的方法。在划分了子网的网络地址中,子网掩码用于确定网络地址。子网掩码是一个和IP地址对应的32位二进制数。子网掩码中与IP地址的网络地址对应的部分为1,与主机地址对应的部分为0。这样把网络接口的IP地址与该接口上的掩码相与就得到该接口所在网络的网络地址,而把该IP地址与掩码的反码相与则可得到主机地址。*无分类域间路由选择CIDR无分类域间路由选择CIDR是根据划分子网阶段的问题提出的编址方法。IP地址采用"网络前缀"+"主机号"的编址方式。目前CIDR是应用最广泛的编址方法,它消除了传统的A、B、C类地址和划分子网的概念,提高了IP地址资源的利用率,并使得路由聚合的实现成为可能。〔2IP报文格式IP报文由报头和数据两部分组成,如图23所示:图23IP报文格式其中主要字段的意义和功能如下:*版本:指IP协议的版本;*头长:是指IP数据报的报头长度,它以4字节为单位。IP报头长度至少为20字节,如果选项部分不是4字节的整数倍时,由填充补齐;*总长度:为整个IP数据报的长度;*服务类型:规定对数据报的处理方式;*标识:是IP协议赋予数据报的标志,用于目的主机确定数据分片属于哪个报文;*标志:为三个比特,其中只有低两位有效,这两位分别表示该数据报文能否分段和是否该分段是否为源报文的最后一个分段;*生存周期:为数据报在网络中的生存时间,报文每经过一个路由器时,其值减1,当生存周期变为0时,丢弃该报文;从而防止网络中出现循环路由;*协议:指IP数据部分是由哪一种协议发送的;*校验和:只对IP报头的头部进行校验,保证头部的完整性;*源IP地址和目的IP地址:分别指发送和接收数据报的主机的IP地址。〔3IP数据报的传输过程在互联网中,IP数据报根据其目的地址不同,经过的路径和投递次数也不同。当一台主机要发送IP数据报时,主机将待发送数据报的目的地址和自己的子网掩码按位"与",判断其结果是否与其所在网络的网络地址相同,若相同,则将数据报直接投递给目的主机,否则,将其投递给下一跳路由器。路由器转发数据报的过程如下:①当路由器收到一个数据报文时,对和该路由器直接相连的网络逐个进行检查,即用目的地址和每个网络的子网掩码按位"与",若与某网络的网地址相匹配,则直接投递;否则,执行2。②对路由表的每一行,将其中的子网屏蔽码与数据报的目的地址按位"与",若与该行的目的网络地址相等,则将该数据报发往该行的下一跳路由器;否则,执行3。③若路由表中有一个默认路由,则将数据报发送给路由表所指定的默认路由器。否则,报告转发出错。2.实验环境与说明〔1实验目的使用Ping命令在两台计算机之间发送数据报,用Ethereal截获数据报,分析IP数据报的格式,理解IPV4地址的编址方法,加深对IP协议的理解。〔2实验设备和连接实验设备和连接图如图24所示,一台锐捷R1760路由器连接2台PC机,分别命名为PC1、PC2。图24IP协议分析实验连接图〔3实验分组每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。3.实验步骤步骤1:按照如图24所示连接好设备;步骤2:完成路由器和PC1、PC2的相关配置,与4.1实验步骤2相同;〔编者注:实验室中任何一台PC都可以作为模型中的PC1。而PC2用25等另一网段机器代理即可。步骤3:按照4.1实验方法,截获PC1上pingPC2的报文,结果保存为IP-学号;步骤4:任取一个数据报,分析IP协议的报文格式,完成下列各题:1分析IP数据报头的格式,完成表9;表9IP协议报文分析字段报文信息说明版本头长服务类型总长度标识标志片偏移生存周期协议校验和源地址目的地址2查看该数据报的源IP地址和目的IP地址,他们分别是哪类地址?体会IP地址的编址方法。_______________________________________
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论