
以太网帧格式分析实验报告.doc
9页实验报告实验名称以太网帧格式分析队另姓名李王丁学号实验日期实验报告要求:1.实验目的2.实验要求3.实验环境4.实验作业5.问题及解决6.思考问题7.实验体会【实验目的】1. 复习Wireshark抓包工具的使用及数据包分析方法2. 通过分析以太网帧了解以太网数据包传输原理实验要求】用Wireshark1.4.9截包,分析数据包观察以太网帧,Ping同学的IP地址,得到自己和同学的mac地址观察以太网广播地址,观察ARP请求的帧中目标mac地址的格式用ping-l指定数据包长度,观察最小帧长和最大帧长观察封装IP和ARP的帧中的类型字段实验环境】用以太网父换机连接起来的windows7操作系统的计算机,通过802.1x方式接入Internet实验中出现问题及解决方法】1. 在使用命令行ping-l0IP观察最小帧长时抓到了长度为42字节的帧,与理论上最小帧长64字节相差甚远通过询问教贝和简单的分析,知道了缺少字节的原因是当Wireshark抓到这个ping请求包时,物理层还没有将填充(Trailer)字符加到数据段后面,也没有算出最后4字节的校验和序列,导致出现最小42字节的“半成品”帧。
可以通过网卡的设置将这个过程提前2. 在做ping同学主机的实验中,发现抓到的所有ping请求帧中IP数据部分的头校验和都是错误的原本以为错误的原因与上一个问题有关,即校验和错误是因为物理层还没有将填充字符加到数据段后面但是这个想法很快被证明是错误的,因为在观察最大帧长时,不需要填充字符的帧也有同样的错误一个有趣的现象是,封装在更里层的ICMP数据包的校验和都是正确的这就表明IP层的头校验和错误并没有影响正常通信进一步观察发现,这些出错的头校验和的值都是0x0000,这显然不是偶然的错误虽然目前还没有得到权威的答案,但是可以推测,可能是这一项校验实际上并没有被启用作为中间层的IP头的意义是承上启下,而校验的工作在更需要的上层的IMCP包和下层MAC头中都有,因此没有必要多此一举思考问题】1. 为什么可以ping到同宿舍(连接在同一个交换机上)的主机而ping不到隔壁宿舍的主机?通常情况下,如果配置正确,设备都连接着同一个网络(互联网),而且没有防火墙等阻拦,就可以正常ping到同一网络中的任何主机在第一次实验中,我们曾成功地ping到了的IP在ping其他宿舍的IP时需要通过宿舍的父换机将ping请求先转发给楼层父换机,再由楼层父换机转发给目标IP所在的宿舍交换机。
分析无法ping到隔壁宿舍主机的原因,很可能是楼层交换机设置了禁止内部ping的防火墙,阻止了本楼层父换机地址段内的主机相互ping对方而同宿舍之所以可以相互ping到,是因为ping请求没有经过楼层交换机,直接由宿舍交换机转发给了目标IP主机2. 什么是ARP攻击?让我们继续分析4.1ARP原理,A得到ARP应答后,将B的MAC地址放入本机缓存但是本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程类似与我们所学的学习网桥)然而,ARP协议并不只在发送了ARP请求才接收ARP应答当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中这时,我们假设局域网中的某台机器C冒充B向A发送一个自己伪造的ARP应答,即IP地址为B的IP,而MAC地址是伪造的,则当A接收到伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来B的IP地址没有变,而它的MAC地址已经不是原来那个了由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通B!这就是一个简单的ARP欺骗。
实验体会】这次实验最大的感触是体会到了网络通信过程的趣味性在做ping同学IP的实验时,我发现抓到的包之间有紧密的联系,相互的应答过程很像实际生活中人们之间的对话尤其是ARP帧,为了获得对方的MAC地址,乐此不疲地在网络中广播“谁有IP为XXX的主机?”,如果运气好,会收到网桥中某个路由器发来的回复“我知道,XXX的MAC地址是YYY!”另外,通过ping同学主机的实验,以及对实验过程中问题的分析,使我对之前模糊不清的一些概念有了全面的认识,如交换机、路由器的区别与功能,局域网各层次的传输顺序与规则等还有一点就是,Wireshark不是万能的,也会有错误、不全面的地方,这时更考验我们的理论分析与实践论证能力成绩优中及格不及格日期:教师签名:【实验作业】1观察并分析通常的以太网帧1.1以太网帧格式目前主要有两种格式的以太网帧:EthernetII(DIX2.0)和IEEE802.3我们接触过的IP、ARP、EAP和QICQ协议使用EthernetII帧结构,而STP协议则使用IEEE802.3帧结构EthernetII是由Xerox与DEC、Intel(DIX)在1982年制定的以太网标准帧格式,后来被定义在RFC894中。
IEEE802.3是IEEE802委员会在1985年公布的以太网标准封装结构(可以看出二者时间相差不多,竞争激烈),RFC1042规定了该标准(但终究二者都写进了IAB管理的RFC文档中)下图分别给出了EthernetII和IEEE802.3的帧格式:ElhQTll.61S662SourceTVP=FCSIEEEH716624^-15004S右FD&BlinciCionSou丽Adkfr^-jSS&0S.2Hoadwrand口创曰res⑴前导码(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备以太网帧则使用8个字节的0、1间隔代码作为起始符IEEE802.3帧的前导码占用前7个字节,第8个字节是两个连续的代码1,名称为帧首定界符(SOF),表示一帧实际开始2)目标地址和源地址(DestinationAddress&SourceAddress):表示发送和接收帧的工作站的地址,各占据6个字节其中,目标地址可以是单址,也可以是多点传送或广播地址⑶类型(Type)或长度(Length):这两个字节在EthernetII帧中表示类型(Type),指定接收数据的高层协议类型而在IEEE802.3帧中表示长度(Length),说明后面数据段的长度。
⑷数据(Data):在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议该数据段的长度最小应当不低于46个字节,最大应不超过1500字节如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符相反,如果数据段长度过大,那么将会把数据段分段后传输在IEEE802.3帧中该部分还包含802.2的头部信息⑸帧校验序列(FSC):包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏1.2实例分析I.EthernetII帧分析出FrameE:60bytesanwireH80bitsL6Qbytescaptured180bits)EthernetTI?Src:istranl_ah:41:d31fC:de:f2:a.bi4j:d8}.Dst:Dell_7e:3b3DestinaTion:E>eLl_7e:31i:c7(5c:26:0a:re:3b:c7?:.'.iSourrc;iRstronl.ah;^L:dSType:IF(0^0800)Trailer:0000000000000000000000000000000000000IiitimEtProtocol,Stc:10..104,137,106(10.104.137.106J.Dst:10.104.137.'+1IiiterneiControLFrutocoi002085Sa00DOff99000100Saouocoom00300DDO00DO0000000000000000ODOD駅26Oa7e3bcTfOdeflab41dS080D1D001c22440000400130d9加閃曲旳W胡4500这一帧的长度是60字节,小于最小帧长64字节。
对比1.1帧结构可以发现,前导码(Preamble)的8个字节已经被去除,因而实际帧长是68字节目的地址(DestinationAddress)为[5c:26:0a:7e:3b:c7],源地址(SourceAddress)为[f0:de:f1:ab:41:d8]类型(Type)为[0x0800],表示该帧封装的高层协议类型是IP协议数据(Data)为[4500……0065],因为长度低于46个字节,该数据段自动填充(Trailer)了一段字符对比1.1帧结构可以发现,该帧没有帧校验序列(FSC),可能是抓到包时校验序列已经被底层去除(但是第5周802.1x接入实验中的EAPOE协议帧中有帧校验序列)II.IEEE802.3帧分析这一帧的长度也是60字节,前导码的8个字节同样已经被去除,因而实际帧长也是68字节目的地址为[01:80:c2:00:00:00](解析为网桥间的生成树),源地址为[3c:e5:a6:f7:a9:f8]长度(Length)为39字节,表示该帧封装的上层协议数据总长度为39字节数据为[4242……0000],因为数据长度为39字节低于46个字节,因此自动填充了一段字符。
该帧同样没有帧校验序列2ping同学的IP地址,分析帧,得到自己和同学的mac地址开始做这个实验时,尝试去ping隔壁宿舍同学的IP地址[10.104.137.124],但结果却不如人愿,无法ping到其主机,结果如下图:-回|l£^|=-JmJ一二正兰北¥北10.104.137LU.ILUQ.137・:!=»*137.13810.104.137.138137・=LJg2一L二—二L--1—一i^1J*OJ"*TTJ"*TT亠了访访访访32決法扶法.頁无无无无具n-la-l-J],阳干三丰三亠旳:-:JA"---------------raw苣1垣员:C:\?-';ndows'isystem32\cmd.exeCs\Usgf®\DavidLec>ping-16.104.137丄?!.104.137.124的Ping统计宿息=数揣旬:已拎诀=乳己挎谕=令・芙失=M<0K同时用Wireshark抓包,得到了如下结果:分析无法ping到的原因,本机一直广播发送ARP请求,询问哪个端口有[10.104.137.124]这台机器,但是却没有回应这个问题作为思考题1进行分析后来去ping本宿舍(连接着同一交换机)的主机IP[10.104.137.106]获得了成功,结果如下图:接受到了长度为32字节的回复数据包。
同时用Wireshark抓包,通过下面一个ping的回应帧,可以得到自己和同学的MAC地址,结果如下图:得到目标地址(因为是回应帧,因此这是自己的MAC地址)为[5c:26:0a:7e:3b:c7],解析的制造商为Dell(对应自己的Dell笔记本)源地址(同学的MAC地址)为[f0:de:f1:ab:41:d8],解析的制造商为Wistron(同学是联想笔记本,而网卡是第三方纬创集团,可见国。
