计算机学院网络123班秦向红201200824302无线网络第1页802.11帧结构分析1.802.11介绍1.1802.11概述802.11协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。IEEE最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到2Mbps。虽然WI-FI使用了802.11的媒体访问控制层(MAC)和物理层(PHY),但是两者并不完全一致。在以下标准中,使用最多的应该是802.11n标准,工作在2.4GHz频段,可达600Mbps(理论值)。IEEE802.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.2802.11拓扑结构及服务类型WLAN有以下三种网络拓扑结构:a.独立基本服务集(IndependentBSS,IBSS)网络(也叫ad-hoc网络),如图1所示。b.基本服务集(BasicServiceSet,BSS)网络,如图2所示。c.扩展服务集(ExtentServiceSet,ESS)网络,如图2所示。图1STA1STA2计算机学院网络123班秦向红201200824302无线网络第2页其中,ESS中的DS(分布式系统)是一个抽象系统,用来连接不同BSS的通信信道(通过路由服务),这样就可以消除BSS中STA与STA之间直接传输距离受到物理设备的限制。根据拓扑结构可以得出802.11的两类服务:站点服务SS(每个STA都要有的服务):认证(Authentication)、解除认证(Deauthentication)、加密(Privacy)、MSDU传递(MSDUdelivery);分布式系统服务DSS(DS特有服务):关联(Association)、解除关联(Deassociation)、分布(Distribution)、集成(Integration)、重关联(Ressociation)。2.帧结构分析2.1帧格式概述无线中的数据传播有如表格1所示的格式:PreamblePLCPMACUserDataCRC表格1preamble是一个前导标识,用于接收设备识别802.11。PLCP域中包含一些物理层的协议参数,显然Preamble及PLCP是物理层的一些APSTA1STA2图2STA1SAT2SAT3SAT4BSS1DSBSS2APAP图3计算机学院网络123班秦向红201200824302无线网络第3页细节。MAC层处理的是帧数据,截取上图中MAC头开始的部分构成MAC帧格式如表格2所示。226662620-234244FrameControlDuraltion/IDAddress1Address2Address3SequenceControlAddress4QosControlFrameBodyFCSMACHeader表格2MACHeader(MAC头):FrameControl(帧控制域),Duration/ID(持续时间/标识),Address(地址域),SequenceControl(序列控制域)、QoSControl(服务质量控制);FrameBody(帧体部分):包含信息根据帧的类型有所不同,主要封装的是上层的数据单元,长度为0~2312个字节,可以推出,802.11帧最大长度为:2346个字节;FCS(校验域):包含32位循环冗余码。3.2MACHeader(1)FrameControl(帧控制域)格式如表格3所示。Bit:22411111111ProtocolVersonTypeSubtypeToDSFromDSMoreFragRetryPwtMgtMoreDataProtectedFrameorderB0B1B2B3B4B7B8B9B10B11B12B13B14B15表格3ProtocolVersion(协议版本):通常为0;Type(类型域)和Subtype(子类型域):共同指出帧的类型;ToDS:表明该帧是BSS向DS发送的帧;FromDS:表明该帧是DS向BSS发送的帧;MoreFrag:用于说明长帧被分段的情况,是否还有其它的帧;Retry(重传域):用于帧的重传,接收STA利用该域消除重传帧;PwrMgt(能量管理域):为1:STA处于power_save模式,0:处于active模式;MoreData(更多数据域):为1:至少还有一个数据帧要发送给STA;ProtectedFrame:为1:帧体部分包含被密钥套处理过的数据;否则:0;Order(序号域):为1:长帧分段传送采用严格编号方式;否则:0。(2)Duration/ID(持续时间/标识):表明该帧和它的确认帧将会占用信道多长时间;对于帧控制域子类型为:PowerSave-Poll的帧,该域表示了STA的连接身份(AID,AssociationIndentification);计算机学院网络123班秦向红201200824302无线网络第4页(3)Address(地址域):源地址(SA)、目的地址(DA)、传输工作站地址(TA)、接收工作站地址(RA),SA与DA必不可少,后两个只对跨BSS的通信有用,而目的地址可以为单播地址(Unicastaddress)、多播地址(Multicastaddress)、广播地址(Broadcastaddress);(4)SequenceControl(序列控制域):由代表MSDU(MACServerDataUnit)或者MMSDU(MACManagementServerDataUnit)的12位序列号(SequenceNumber)和表示MSDU和MMSDU的每一个片段的编号的4位片段号组成(FragmentNumber)。3.3帧类型针对帧的不同功能,可将802.11中的MAC帧细分为以下3类:1)控制帧:用于竞争期间的握手通信和正向确认、结束非竞争期等;2)管理帧:主要用于STA与AP之间协商、关系的控制,如关联、认证、同步等;3)数据帧:用于在竞争期和非竞争期传输数据。FrameControl(帧控制域)中的Type(类型域)和Subtype(子类型域)共同指出帧的类型,当Type的B3B2位为00时,该帧为管理帧;为01时,该帧为控制帧;为10时,该帧为数据帧。而Subtype进一步判断帧类型,如管理帧里头细分为关联和认证帧,管理帧的帧格式(Managementframeformat)如表格4所示。2266620-23124FrameControlDuraltionAddress1(DA)SABSSIDSequenceControlFrameBodyFCSMACHeader表格4在802.11中,比较重要的管理帧有:Beacon(notify)Probe(requestandresponse)Authenticate(requestandresponse)Associate(requestandresponse)Reassociate(requestandresponse)Dissassociate(notify)Deauthenticate(notify)其中,关联、认证中进行相关安全参数协商主要用到RSNIE。数据帧(DataHeader)帧格式如表格5所示。计算机学院网络123班秦向红201200824302无线网络第5页226662620-234244FrameControlDuraltion/IDAddress1Address2Address3SequenceControlAddress4QosControlFrameBodyFCSMACHeader表格53.802.11帧的抓取3.1软件的安装(1)commViewforWIFI是主要用于抓取无线网卡的软件,用此软件抓取802.11的数据包不需要相关配置,直接安装完成即可抓取数据包。软件安装开始界面如图4所示。图4(2)如图5所示表示选取安装标准模式。计算机学院网络123班秦向红201200824302无线网络第6页图5(3)如图6所示显示的是安装路径。图6(4)如图7所示表示软件安装成功。计算机学院网络123班秦向红201200824302无线网络第7页图73.2802.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位信息的数据帧。ProtocolVersion,Type,Subtype的数据信息就是前8位数据([08020000]),位置a显示的是目的主机地址,位置b处显示的是BSSID的信息,位置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数据报文的封装在RFC894中定义,IEEE802.3网络的IP数据报文封装在RFC1042中定义。标准规定:a.主机必须能发送和接收采用RFC894(以太网)封装格式的分组;b.主机应该能接收RFC1042(IEEE802.3)封装格式的分组;c.主机可以发送采用RFC1042(IEEE802.3)封装格式的分组。如果主机能同时发送两种类型的分组数据,那么发送的分组必须是可以设置的,而且默认条件下必须是RFC894(以太网)。最常使用的封装格式是RFC894定义的格式,俗称EthernetII或者EthernetDIX。下面,我们就以EthernetII称呼RFC894定义的以太帧,以IEEE802.3称呼RFC1042定义的以太帧。4.2以太网帧格式在以太网链路上的数据包称作以太帧。以太帧起始部分由前导码和帧开始符组成。后面紧跟着一个以太网报头,以MAC地址说明目的地址和源地址。帧的中部是该帧负计算机学院网络123班秦向红201200824302无线网络第11