实验3 分析MAC帧格式分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 分析MAC帧格式
3.1 实验目的
1.了解MAC帧首部的格式;
2.理解MAC帧固定部分的各字段含义;
3.根据MAC帧的内容确定是单播,广播。
3.2 实验设备
Winpcap、Wireshark等软件工具
3.3 相关背景
1.据包捕获的原理:为了进行数据包,网卡必须被设置为混杂模式。在现实的网络环境中,存在着许多共享式的以太网络。这些以太网是通过Hub 连接起来的总线网络。在这种拓扑结构的网络中,任何两台计算机进行通信的时候,它们之间交换的报文全部会通过Hub进行转发,而Hub以广播的方式进行转发,网络中所有的计算机都会收到这个报文,不过只有目的机器会进行后续处理,而其它机器简单的将报文丢弃。目的机器是指自身MAC 地址与消息中指定的目的MAC 地址相匹配的计算机。网络监听的主要原理就是利用这些原本要被丢弃的报文,对它们进行全面的分析,这样就可以得到整个网络中信息的现状。
2.Tcpdump的简单介绍:Tcpdump是Unix平台下的捕获数据包的一个架构。Tcpdump最初有美国加利福尼亚大学的伯克利分校洛仑兹实验室的Van Jcaobson、Craig Leres和Steve McCanne共同开发完成,它可以收集网上的IP数据包文,并用来分析网络可能存在的问题。现在,Tcpdump已被移植到几乎所有的UNIX系统上,如:HP-UX、SCO UNIX、SGI Irix、SunOS、Mach、Linux和FreeBSD等等。更为重要的是Tcpdump是一个公开源代码和输出文件格式的软件,我们可以在Tcpdunp的基础上进行改进,加入辅助分析的功能,增强其网络分析能力。(详细信息可以参看相关的资料)。
3.Winpcap的简单介绍:WinPcap是由意大利Fulvio Risso和Loris Degioanni等人提出并实现的应用于Win32 平台的数据包捕获与分析的一种软件包,包括内核级的数据包监听设备驱动程序、低级动态链接库(Packet.dll)和高级系统无关库(Winpcap.dll),其基本结构如图3-1所示:
图3-1 Winpcap的体系结构
WinPcap由3个模块组成:1)NPF (NetgroupPacket Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块;2)Packet.dll为Win32 平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll直接映射了内核的调用,运行在用户层,把应用程序和数据包监听设备驱动程序隔离开,使应用程序可以不加修改地在不同的Windows系统上运行。通过Packet.dll提供的能用来直接访问BPF驱动程序的包驱动API利用raw模式发送和接收包。3)Wpcap. dll是不依赖于操作系统的。Wpcap.dll和应用程序链接在一起,使用低级动态链接库提供的服务,向应用程序提供完善的监听接口和更加友好、功能更加强大的函数调用(详细信息可以参看相关的资料)。
4. 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源机网络层发来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
以太网帧的概述:以太网的帧是数据链路层的封装,网络层的数据包被加上帧头和帧尾成为可以被数据链路层识别的数据帧(成帧)。虽然帧头和帧尾所用的字节数是固定不变的,但依被封装的数据包大小的不同,以太网的长度也在变化,其范围是64~1518字节(不算8字节的前导字)。
图3-2 MAC帧格式
以太网帧的最小长度为64字节(6+6+2+46+4),最大长度为1518字节(6+6+2+1500+4)。其中前12字节分别标识出发送数据帧的源节点MAC 地址和接收数据帧的目标节点MAC地址。(注:ISL封装后可达1548字节,802.1Q封装后可达1522字节)接下来的2个字节标识出以太网帧所携带的上层数据类型,如16进制数0x0800代表IP协议数据,16进制数0x809B代表AppleTalk协议数据,16进制数0x8138代表Novell类型协议数据等。在不定长的数据字段后是4个字节的帧校验序列(Frame. Check Sequence,FCS),采用32位CRC循环冗余校验对从"目标MAC地址"字段到"数据"字段的数据进行校验。
3.4 实验内容
1. 捕获数据包;
2. 解析出数据包的各个字段;
3. 分析各字段的含义;
4. 分析实验结果,加深对数据包首部各字段的理解;
5. 整理实验结果,书写实验报告。
3.5 实验步骤
1 安装
实验中提供两种安装软件“Wireshark 1.7.0 Development Release (32-bit).exe”和“wireshark-win32-1.4.9中文版.exe”。两者区别由名字已经可以看出,前者是英文版,后者是汉化后的中文版。
Wireshark软件安装包中,目前包含的网络数据采集软件是winpcap 4.0版本,保存捕获数据时可以用中文的文件名,文件名默认后缀为.pcap。winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力。
2 界面功能
在此为了方便即时上手操作,以中文版界面进行讲解,英文版操作类同,可以自行使用。
安装后,双击桌面“Wireshark”图标,打开操作界面如图3-3所示。