当前位置:文档之家› 实验一 用协议分析器分析以太帧结构

实验一 用协议分析器分析以太帧结构

成绩评阅人评阅日期计算机科学与技术系实验报告课程名称:计算机网络实验名称:用协议分析器分析以太帧结构班级:学号:姓名:年月日实验一用协议分析器分析以太帧结构【实验目的】1.熟悉网络协议分析的原理。

2.熟悉网络协议分析软件Ethereal的使用。

3.掌握Ethernet帧的构成【实验内容】1.学习使用网络协议分析软件Ethereal。

2.捕捉任何主机发出的DIX Ethernet V2(即Ethernet Ⅱ)格式的帧并进行分析。

3.捕捉并分析局域网上的所有Ethernet broadcast帧进行分析。

4.捕捉局域网上的所有Ethernet multicast帧进行分析。

【实验原理】1.网络协议分析原理网络协议分析是截获网络上正在传输的数据报文,并对数据报文的内容进行分析。

网络协议分析需要截获网络上的所有报文,根据上面对网卡接收模式的分析,只要将网卡的接收模式置于混杂模式即可实现。

在接收到网络上所有的数据报文后,通过相应的网络协议分析软件进行处理,可以实时分析这些数据的内容,进而分析网络状态和整体布局。

网络协议分析技术主要用来帮助网络管理员对网络进行管理。

通过网络协议分析技术,网络管理员可以了解目前网络中正在应用的协议种类,每种协议所占的比例,及哪些设备应用哪些协议进行通讯;同时可以分析协议应用的合理性与有效性,从而合理的选择协议,节约有限的网络宽带,提高网络传输效率;另外,可以诊断出大量的不可见模糊问题,为管理员管理网络区域提供了非常宝贵的信息。

2. 以太网数据帧的格式分析以太网这个术语一般是指数字设备公司(Digital Equipment)、英特尔公司(Intel)和施乐公司(Xerox)在1982年联合公布的一个标准(实际上它是第二版本)。

它是目前TCP/IP 网络采用的主要的局域网技术。

1985年,IEEE(电子电气工程师协会)802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。

这三者的共同特性由802.2标准来定义,那就是802网络共有的逻辑链路控制(LLC)。

不幸的是,802.2和802.3定义了一个与以太网不同的帧格式,加上1983年Novell为其Netware开发的私有帧(Netware 802.3 “Raw”),这些给以太网造成了一定的混乱,也给我们学习以太网带来了一定的影响。

从Ethereal捕捉数据包中也可以看出,Ethereal捕捉数据包的时候是掐头去尾的,不要前面的前导码,也丢弃后面的CRC校验(注意它只是不在Decode里显示该区域,但并不代表它不去做数据包CRC校验),这就是很多人困惑为什么Ethereal捕捉到的数据包长度跟实际长度不相符的原因。

那么,Ethereal是如何来判断这些不同类型的以太网格式呢?Ethereal可以判断出不同的以太网格式,这里需要注意的是,Ethereal在数据包解码时有自己的格式,所以有Offset之说,offset 0EH是指在Ethereal Hex解码窗口中从左向右第15位的数值。

大家如果有点发懵的话,没有关系,看完后面的格式分析后再来分析前面提到的,相信一定能够明白。

Ethernet V2以太网版本2是先于IEEE标准的以太网版本。

从数据包中可以看出,Ethernet V2通过在DLC头中2个字节的类型(Type)字段来辨别接收处理。

类型字段是用来指定上层协议的(如0800指示IP、0806指示ARP等),它的值一定是大于05FF的,它提供无连接服务的,本身不控制数据(DATA)的长度,它要求网络层来确保数据字段的最小包长度(46字节)。

Ethereal捕获的Ethernet V2帧的解码,可以看到在DLC层,源DLC地址后紧跟着就是以太网类型(Etehertype)值0800,代表上层封装的是IP报文,0800大于05FF,因而我们可以断定它是Ethernet V2的帧。

IEEE 802.3和DIX Ethernet V2的封装格式●IEEE802.3IEEE802.3把DLC层分隔成明显的两个子层:MAC层和LLC层,其中MAC层主要是指示硬件目的地址和源地址。

LLC层用来提供一些服务:通过SAP地址来辨别接收和发送方法兼容无连接和面向连接服务提供子网访问协议(Sub-network Access Protocol,SNAP),类型字段即由它的首部给出。

MAC层要保证最小帧长度不小于64字节,如果数据不满足64字节长度就必须进行填充。

是Ethereal捕获的IEEE802.3帧的解码,可以看到在DLC层源地址后紧跟着就是802.3的长度(Length)字段0026,它小于05FF,可以肯定它不是Ethernet V2的帧,而接下来的Offset 0E处的值“4242”(代表DSAP和SSAP),既不是Novell 802.3 “Raw”的特征值“FFFF”,也不是IEEE 802.3 SNAP的特征值“AAAA”,因此它肯定是一个IEEE802.3的帧。

●IEEE802.3 SNAPSNAP (Sub-Network Access Protocol)子网访问协议,是逻辑链路控制(Logical Link Control)的一个子集,它允许协议不用通过服务访问点(SAP)即可实现IEEE兼容的MAC 层功能,因此它在DSAP和SSAP域里的值是固定的(AAAA)。

也正源于此,它需要额外提供5个字节的头来指定接收方法,3个字节标识厂商代码,2个字节标识上层协议。

其MAC层保证数据帧长度不小于64字节,不足的话需要进行数据填充。

是Ethereal捕获的IEEE802.3 SNAP帧的解码,可以看到在DLC层源地址后紧跟着就是802.3的长度(Length)字段0175,它小于05FF,可以肯定它不是Ethernet V2的帧,而接下来的Offset 0E处的值“AAAA”(代表DSAP和SSAP),这是IEEE 802.3 SNAP的特征值“AAAA”,因此可以断定它是一个IEEE802.3 SNAP的帧。

Novell Netware 802.3 “Raw”虽然它的产生先于IEEE802.3规范,但已成为IEEE802.3规范的一部分。

它仅使用DLC 层的下半部,而不使用LLC。

802.3 “Raw”帧通过在DLC头中2个字节的长度(Length)字段来标记数据帧长度,而在长度字段后紧跟着就是两个字节的十六进制值FFFF,它是用来标识IPX协议头的开始。

为了确保最小数据帧长度为64字节,MAC层会进行填充数据区域来确保最小长度。

在所有工作站都使用同一种数据帧类型情况下不会有什么问题,但如果是在混合以太网帧类型环境中,Novell的这种以太网帧会造成负面影响:当Novell发出广播帧时,其FF字段正好是IEEE802.3帧中的服务访问点(SAP)域,它的“FF”值代表着广播SAP,因此所有的工作站(不管是不是Netware工作站)都会拷贝,这会造成不必要的广播影响。

Ethereal捕获的Netware 802.3 “RAW”帧的解码,可以看到在DLC层源地址后紧跟着就是802.3的长度(Length)字段0120,它小于05FF,可以肯定它不是Ethernet V2的帧,而接下来的Offset 0E处的值“FFFF”(代表IPX协议的开始),这是Netware 802.3 “Raw”的特征值“FFFF”,因此可以断定它是一个N ovell 802.3 “Raw”的帧。

【实验环境】局域网、Ethereal软件。

【实验步骤】1.学习使用Ethereal软件。

2.捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。

捕捉任何主机发出的Ethernet 802.3格式的帧(帧的长度字段<=1500), Ethereal的capture filter 的filter string设置为:ether[12:2] <= 1500。

捕捉任何主机发出的DIX Ethernet V2(即Ethernet II)格式的帧(帧的长度字段>1500, 帧的长度字段实际上是类型字段), Ethereal的capture filter 的filter string设置为:ether[12:2] > 1500。

①观察并分析帧结构,802.3格式的帧的上一层主要是哪些PDU(协议数据单元)?是IP、LLC还是其它哪种?答:802.3格式的帧的上一层主要是LLC②观察并分析帧结构,Ethernet II的帧的上一层主要是哪些PDU?是IP、LLC还是其它哪种?答:Ethernet II的帧的上一层主要是IP。

3.捕捉并分析局域网上的所有Ethernet broadcast帧,Ethereal的capture filter 的filter string设置为:ether broadcast。

①观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?广播帧的高层协议是 ARP协议②你的LAN的共享网段上连接了多少台计算机?1分钟内有几个广播帧?有否发生广播风暴?答:连接了82台计算机,1分钟内有2235个广播帧无广播风暴。

4.捕捉局域网上的所有Ethernet multicast帧,Ethereal的capture filter 的filter string设置为:ether multicast①观察并分析哪些节点在发multicast帧,这些帧的高层协议是什么?答:fe80::b0f7:a26:5114:2bf8、fe80::b1d4:4465:28b6:a727、fe80::a095:f000:2e1f:84cf、fe80::4061:8c31:f298:51b2等multicast帧的高层协议有SSDP、ARP、NBNS、BROWSER、DHCP、LLMNR等【分析与讨论】1.捕获帧的时候Ethereal的capture filter 的filter string设置为:ether[12:2] <= 1500或ether[12:2] > 1500是什么含意?答:ether[12:2] <= 1500表示捕捉任何主机发出的Ethernet 802.3格式的帧,即帧的长度字段<=1500;ether[12:2] > 1500表示捕捉任何主机发出的DIX Ethernet V2(即Ethernet II)格式的帧,帧的长度字段>1500。

2.对802.3帧和DIX Ethernet V2帧以及其它以太帧格式的理解。

相关主题