如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
一、以太网数据帧的格式分析大家都知道我们目前的局域网大多数是以太网,但以太网有多种标准,其数据帧有多种格式,恐怕有许多人不是太清楚,本文的目的就是通过帧格式和Sniffer捕捉的数据包解码来区别它们。以太网这个术语一般是指数字设备公司(DigitalEquipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本,第一版本早在。它是目前TCP/IP网络采用的1972年就在施乐公司帕洛阿尔托研究中心PARC里产生了)主要的局域网技术。它采用一种称作CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(CarrierSenseMultipleAccesswithCollisionDetection)。它的速率为10Mb/s,地址为48bit。1985年,IEEE(电子电气工程师协会)802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware开发的私有帧,这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。1、通用基础数据链路层前导码目的地址源地址数链层头数据FCS86641010…10101011Sniffer捕捉的范围捕捉帧最小长度60bytes捕捉帧最大长度1514bytes注:VLANTag帧和GigabitJumbo帧可能会超过这个限制值图1-1图1-1中,数据链路层头(Header)是数据链路层的控制信息的长度不是固定的,根据以太网数据帧的格式的不同而不同,那么判断IEEE802.3、IEEE802.3SNAP、EthernetVersion2、Netware802.3“Raw”这些数据帧的最主要依据也源于Header的变化。从该图中也可以看出,Sniffer捕捉数据包的时候是掐头去尾的,不要前面的前导码,也丢弃后面的CRC校验(注意它只是不在Decode里显示该区域,但并不代表它不去做数据包CRC校验),这就是很多人困惑为什么Sniffer捕捉到的数据包长度跟实际长度不相符的原因。那么,Sniffer是如何来判断这些不同类型的以太网格式呢?开始观察DLC源地址域后的16进制数值数据帧类型上层协议YES使用以太网类型值16进制值是否大于5FF?STOPEthernetV2来确定上层协议NO在offsetE处观察2个字节这2个字节的16进制值是YESSTOPNovell802.3rawNetWare上层协议否等于FFFF典型:IPXNOYES使用SNAP类型值这2个字节的16进制值是STOP802.3SNAP否等于AAAA确定上层协议NO使用SAP值确定上层协STOP802.3议图1-2通过图1-2的逻辑结构,Sniffer就可以判断出不同的以太网格式,这里需要注意的是,Sniffer在数据包解码时有自己的格式,图所以有Offset之说,1-2中的offsetE是指在SnifferHex解码窗口中从左向右第15位的数值。大家如果看这幅图有点发懵的话,没有关系,看完后面的格式分析后再来看这幅图,相信一定能够明白下面我们通过一些具体的图示和数据包来说明各种以太网格式的具体区别。2、EthernetVersion2以太网版本2是先于IEEE标准的以太网版本。数链层前导码DASA类型数据FCS866246-150041010…10101011Sniffer捕捉的范围图2-1从图2-1中可以看出,EthernetV2通过在DLC头中2个字节的类型(Type)字段来辨别接收处理。类型字段是用来指定上层协议的(如0800指示IP、0806指示ARP等),它的值一定是大于05FF的,它提供无连接服务的,本身不控制数据(DATA)的长度,它要求。网络层来确保数据字段的最小包长度(46字节)图2-2是Sniffer捕获的EthernetV2帧的解码,可以看到在DLC层,源DLC地址后紧跟着就是以太网类型(Etehertype)值0800,代表上层封装的是IP报文,0800大于05FF,因而我们可以断定它是EthernetV2的帧。图2-23、IEEE802.3数链层逻辑链路控制LLC802.2前导码SFDDASA长度DSAPSSAPControl数据填充FCS71662111or242-149741010…10101011Sniffer捕捉范围SFD:开始定界符DSAP:目标服务访问点SSAP:源服务访问点图3-1Control:控制信息从图3-1可以看出,IEEE802.3把DLC层分隔成明