资源描述
计算机学院 网络 123 班 秦向红 201200824302 无线网络第 1 页802.11 帧结构分析帧结构分析1.802.11 介绍1.1 802.11 概述802.11 协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。IEEE 最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到 2Mbps。虽然 WI-FI 使用了 802.11 的媒体访问控制层(MAC)和物理层(PHY),但是两者并不完全一致。在以下标准中,使用最多的应该是 802.11n 标准,工作在 2.4GHz 频段,可达 600Mbps(理论值)。IEEE 802.11 是一个协议簇,主要包含以下规范:a.物理层规范:802.11b,802.11a,802.11g;b.增强型 MAC 层规范:802.11i,802.11r,802.11h 等;c.高层协议规范:802.11f,802.11n,802.11p,802.11s 等。802.11 中定义了三种物理层规范,分别是:频率跳变扩展频谱(FHSS)PHY 规范、直接序列扩展频谱(DSSS)PHY 规范和红外线(IR)PHY 规范,由于物理层的规范与无线信息安全体系关系不大,故本文不对物理层做过多阐述。802.11 同 802.3 一样,主要定义了 OSI 模型中物理层和数据链路层的相关规范,其中数据链路层又可分为 MAC 子层和 LLC 子层,802.11 与 802.3 的 LLC 子层统一由802.2 描述。1.2 802.11 拓扑结构及服务类型WLAN 有以下三种网络拓扑结构:a.独立基本服务集(Independent BSS,IBSS)网络(也叫 ad-hoc 网络),如图 1 所示。b.基本服务集(Basic Service Set,BSS)网络,如图 2 所示。c.扩展服务集(Extent Service Set,ESS)网络,如图 2 所示。图 1STA1STA2计算机学院 网络 123 班 秦向红 201200824302 无线网络第 2 页其中,ESS 中的 DS(分布式系统)是一个抽象系统,用来连接不同 BSS 的通信信道(通过路由服务),这样就可以消除 BSS 中 STA 与 STA 之间直接传输距离受到物理设备的限制。根据拓扑结构可以得出 802.11 的两类服务:站点服务 SS(每个 STA 都要有的服务):认证(Authentication)、解除认证(Deauthentication)、加密(Privacy)、MSDU 传递(MSDU delivery);分布式系统服务 DSS(DS 特有服务):关联(Association)、解除关联(Deassociation)、分布(Distribution)、集成(Integration)、重关联(Ressociation)。2.帧结构分析2.1 帧格式概述无线中的数据传播有如表格 1 所示的格式:PreamblePLCPMACUser DataCRC表格 1preamble 是一个前导标识,用于接收设备识别 802.11。PLCP 域中包含一些物理层的协议参数,显然 Preamble 及 PLCP 是物理层的一APSTA1STA2图 2STA1SAT2SAT3SAT4BSS1DSBSS2APAP图 3计算机学院 网络 123 班 秦向红 201200824302 无线网络第 3 页些细节。MAC 层处理的是帧数据,截取上图中 MAC 头开始的部分构成 MAC 帧格式如表格 2 所示。226662620-234244FrameControlDuraltion/IDAddress1Address2Address3SequenceControlAddress4QosControlFrameBodyFCSMAC Header表格 2MAC Header(MAC 头):Frame Control(帧控制域),Duration/ID(持续时间/标识),Address(地址域),Sequence Control(序列控制域)、QoS Control(服务质量控制);Frame Body(帧体部分):包含信息根据帧的类型有所不同,主要封装的是上层的数据单元,长度为 02312 个字节,可以推出,802.11 帧最大长度为:2346 个字节;FCS(校验域):包含 32 位循环冗余码。3.2 MAC Header(1)Frame Control(帧控制域)格式如表格 3 所示。Bit:22411111111ProtocolVersonTypeSubtypeTo DSFromDSMoreFragRetryPwtMgtMoreDataProtectedFrameorderB0 B1B2 B3B4 B7B8B9B10B11B12B13B14B15表格 3Protocol Version(协议版本):通常为 0;Type(类型域)和 Subtype(子类型域):共同指出帧的类型;To DS:表明该帧是 BSS 向 DS 发送的帧;From DS:表明该帧是 DS 向 BSS 发送的帧;More Frag:用于说明长帧被分段的情况,是否还有其它的帧;Retry(重传域):用于帧的重传,接收 STA 利用该域消除重传帧;Pwr Mgt(能量管理域):为 1:STA 处于 power_save 模式,0:处于 active模式;More Data(更多数据域):为 1:至少还有一个数据帧要发送给 STA;Protected Frame:为 1:帧体部分包含被密钥套处理过的数据;否则:0;Order(序号域):为 1:长帧分段传送采用严格编号方式;否则:0。(2)Duration/ID(持续时间/标识):表明该帧和它的确认帧将会占用信道多长时间;对于帧控制域子类型为:Power Save-Poll 的帧,该域表示了 STA 的连接身份计算机学院 网络 123 班 秦向红 201200824302 无线网络第 4 页(AID,Association Indentification);(3)Address(地址域):源地址(SA)、目的地址(DA)、传输工作站地址(TA)、接收工作站地址(RA),SA 与 DA 必不可少,后两个只对跨 BSS 的通信有用,而目的地址可以为单播地址(Unicast address)、多播地址(Multicast address)、广播地址(Broadcast address);(4)Sequence Control(序列控制域):由代表 MSDU(MAC Server Data Unit)或者 MMSDU(MAC Management Server Data Unit)的 12 位序列号(Sequence Number)和表示 MSDU 和 MMSDU 的每一个片段的编号的 4 位片段号组成(Fragment Number)。3.3 帧类型针对帧的不同功能,可将 802.11 中的 MAC 帧细分为以下 3 类:1)控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等;2)管理帧:主要用于 STA 与 AP 之间协商、关系的控制,如关联、认证、同步等;3)数据帧:用于在竞争期和非竞争期传输数据。Frame Control(帧控制域)中的 Type(类型域)和 Subtype(子类型域)共同指出帧的类型,当 Type 的 B3B2 位为 00 时,该帧为管理帧;为 01 时,该帧为控制帧;为 10 时,该帧为数据帧。而 Subtype 进一步判断帧类型,如管理帧里头细分为关联和认证帧,管理帧的帧格式(Management frameformat)如表格 4 所示。2266620-23124FrameControlDuraltionAddress1(DA)SABSSIDSequenceControlFrameBodyFCSMAC Header表格 4在 802.11 中,比较重要的管理帧有:Beacon(notify)Probe(request and response)Authenticate(request and response)Associate(request and response)Reassociate(request and response)Dissassociate(notify)Deauthenticate(notify)其中,关联、认证中进行相关安全参数协商主要用到 RSN IE。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 5 页数据帧(Data Header)帧格式如表格 5 所示。226662620-234244FrameControlDuraltion/IDAddress1Address2Address3SequenceControlAddress4QosControlFrameBodyFCSMAC Header表格 53.802.11 帧的抓取3.1 软件的安装(1)commView for WIFI 是主要用于抓取无线网卡的软件,用此软件抓取 802.11的数据包不需要相关配置,直接安装完成即可抓取数据包。软件安装开始界面如图 4所示。图 4(2)如图 5 所示表示选取安装标准模式。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 6 页图 5(3)如图 6 所示显示的是安装路径。图 6(4)如图 7 所示表示软件安装成功。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 7 页图 73.2 802.11 驱动的安装(1)如图 8 所示表示安装 802.11 网络适配器驱动。图 8计算机学院 网络 123 班 秦向红 201200824302 无线网络第 8 页(2)如图 9 所示表示安装插件成功。图 93.3 数据包的抓取使用这个软件抓到的都是 802.11 的数据包,如图 10,图 11,图 12 所示显示的都是数据包的具体信息。图中位置 1 处,表示图中左边及其下面显示的都是位置 1 处的数据包的信息,信息中包含的有数据包的类型,数据包的大小,数据包的抓取时间等等,最重要的是位置 2 处显示了此包在 802.11 中的详细信息,比如协议版本,帧是 BBS 向 DS 发送的帧,重传帧,能量管理域,类型域,目的地址,源地址等等各种详细信息。图中位置 3 处显示的是数据帧中的具体数据信息。如图 10 所示,对位置 3 处的数据帧进行具体分析,位置 3 处显示的是十六进制的数据信息,这是一个 74 位信息的数据帧。Protocol Version,Type,Subtype 的数据信息就是前 8 位数据(08 02 00 00),位置 a 显示的是目的主机地址,位置 b 处显示的是BSS ID 的信息,位置 c 处显示的是源地址。图 11、图 12 所示的不同于图 10 所示的数据帧类型,但是分析方法大同小异。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 9 页图 10图 11计算机学院 网络 123 班 秦向红 201200824302 无线网络第 10 页图 124.以太网帧结构的分析4.1 以太网介绍以 太网这个术语通常是指由 DEC,Intel 和 Xerox 公司在 1982 年联合公布的一个标准,它是当今 TCP/IP 采用的主要的局域网技术,它采用一种称作 CSMA/CD 的媒体接入方法。几年后,IEEE802 委员会公布了一个稍有不同的标准集,其中 802.3 针对整个 CSMA/CD 网络,802.4 针对令牌总线网络,802.5 针对令牌环网络;此三种帧的通用部分由 802.2 标准来定义,也就是我们熟悉的 802 网络共有的逻辑链路控制(LLC)。在 TCP/IP 世界中,以太网 IP 数据报文的封装在 RFC 894 中定义,IEEE802.3 网络的 IP 数据报文封装在 RFC 1042 中定义。标准规定:a.主机必须能发送和接收采用 RFC 894(以太网)封装格式的分组;b.主机应该能接收 RFC 1042(IEEE 802.3)封装格式的分组;c.主机可以发送采用 RFC 1042(IEEE 802.3)封装格式的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是 RFC 894(以太网)。最常使用的封装格式是 RFC 894 定义的格式,俗称 Ethernet II 或者 Ethernet DIX。下面,我们就以 Ethernet II 称呼 RFC 894 定义的以太帧,以 IEEE802.3 称呼 RFC 1042 定义的以太帧。4.2 以太网帧格式在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 11 页后面紧跟着一个以太网报头,以 MAC 地址说明目的地址和源地址。帧的中部是该帧负载的包含其他协议报头的数据包(例如 IP 协议)。以太帧由一个 32 位冗余校验码结尾。它用于检验数据传输是否出现损坏。来自线路的二进制数据包称作一个帧。从物理线路上看到的帧,除其他信息外,还可看到前导码和帧开始符。任何物理硬件都会需要这些信息。以太帧有很多种类型。不同类型的帧具有不同的格式和 MTU 值。但在同种物理媒体上都可同时存在。a.以太网第二版或者称之为 Ethernet II 帧,DIX 帧,是最常见的帧类型。并通常直接被 IP 协议使用。b.Novell 的非标准 IEEE 802.3 帧变种。c.IEEE 802.2 逻辑链路控制(LLC)帧。d.子网接入协议(SNAP)帧。所有四种以太帧类型都可包含一个 IEEE 802.1Q 选项来确定它属于哪个 VLAN 以及他的 IEEE 802.1p 优先级(QoS)。这个封装由 IEEE 802.3ac 定义并将帧大小从 64 字节扩充到 1522 字节(注:不包含 7 个前导字节和 1 个字节的帧开始符以及 12 个帧间距字节)。如表格 6 所示是 802.3 帧结构。Octets:11664246-1500412前导码帧开始符MAC 目标地址MAC 源地址802.1Q 标签(可选)以太类型或长度负载冗余校验帧间距表格 6前导码和帧开始符:一个帧以 7 个字节的前导码和 1 个字节的帧开始符作为帧的开始。报头:包含源地址和目标地址的 MAC 地址,以太类型字段和可选的用于说明VLAN 成员关系和传输优先级的 IEEE 802.1Q VLAN 标签。帧校验码:帧校验码是一个 32 位循环冗余校验码,以便验证帧数据是否被损坏。帧间距:当一个帧发送出去之后,发送方在下次发送帧之前,需要再发送至少 12个 octet 的空闲线路状态码。5.以太网数据包的抓取以太网数据包的抓取使用的软件是 Wireshark,之前已经详细学习了此款软件,所以这里关于软件的介绍及安装就不多做说明了。5.1 数据包的抓取及分析(1)如图 1 所示表示是在软件上选取抓取以太网数据包。计算机学院 网络 123 班 秦向红 201200824302 无线网络第 12 页图 13(2)Ethernet II 帧结构的分析。如图 14 所示,这是一个 60 字节,小于最小帧 64 字节。前导码(Preamble)的 8个字节已经被去除,因而帧长是 68 字节。目的地址(Destination Address)为:ff.ff,源地址(Source Address)为:b8 a3.1a;类型(Type)为:0 x0800,表示该帧封装类型是 IP 协议。数据(Data)为:00 01.01 01,因为长度低于 46 个字节,该数据段自动填充了一段字符。该帧没有帧校验序列(FSC),可能是抓到包时校验序列已经被底层去除。图 146.802.11 和以太网对比计算机学院 网络 123 班 秦向红 201200824302 无线网络第 13 页6.1 802.11 与以太网传输的对比802.3 是总线网协议,802.11 是无线网络协议。他们只是对网络架构的定义。用不同的访问方法,与访问介质。但是传输数据的帧,也就是传输层与网络层协议基本一致。都是 TCP/IP/UDP 协议。如表格 7 所示是 IEEE802.11 标准;表格 8 所示是千兆以太网标准。IEEE 802.11 标准标准数据速率802.11b最高 11Mb/s,可降低为 5.5Mb/s,2Mb/s,1Mb/s802.11a物理层速率为 54Mb/s802.11g最高可达 54Mb/s802.11n提高到 300Mb/s,最高可达 600Mb/s表格 7千兆以太网标准名称传输距离1000Base-LX多模光纤为 550 米,单模光线为 3000 米1000Base-CX屏蔽双绞线 25 米1000Base-SX多模光纤 550 米1000Base-ZX在平常的的单模光线链路可达 70 千米,使用收费的单模光线可达 100 千米1000Base-FX多模光纤 412 米表格 86.2 802.11 与以太网帧的对比(1)802.11 帧要使用 4 个 mac 地址。接口侦听并接收线缆上的以太网帧,主要是检查以太网帧的目的 MAC 地址,如果目标 MAC 地址和自身的 MAC 地址匹配则接受并处理,否则丢弃。(2)802.3 以太网采用数据通信方法是 CSMA/CD(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)载波侦听多路访问冲突检测。802.11 无线局域网采用数据通信方法是 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)载波侦听多路访问冲突避免。(3)802.11 帧与 802.3 相对比,除了共有的目的地址和源地址,还有第三个地址,这个地址是 ap 的中继点。指明远程端点。
展开阅读全文