您的位置:首页 > 其它

无线报文简单分析

2015-06-06 16:45 483 查看
802.11帧分为三个部分:帧头(Mac header)、帧实体(body)、FCS域。分为MAC header、Frame Body和FCS。MAC header由4个字段构成,分别为:Frame Control、Duration ID、Address、Seq ctl。一般情况是Address仅只有目的地址、源地址和BSSID。<IMG
style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231216881.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">
一、Frame Control(帧控制)
[align=left]所有帧的开头均是长为两个字节的Frame Control(帧控制)字段,Frame Control字段包括以下子字段:Protocol、Type、Subtype、To DS、From DS、More fragments、More fragments、Retry、Power management、More data、Protected Frame。[/align]
[align=left]下面分别来介绍每个字段:[/align]
[align=left] [/align]
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231349385.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

Protocol字段
Protocol(协议版本)字段由两位构成,用显示该帧所使用的MAC版本。目前802.11 MAC只有一个版本,它的协议编号为0。

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231445958.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

Type与Subtype字段
Type(类型)与Subtype(子类型)字段用来指定使用的帧类型。为了提升可靠性,802.11 MAC内置了一些管理功能。如RTS/CTS操作与ACK(确认,acknowledgment)。802.11无线局域网的封包分为三种:管理帧、控制帧和数据帧。
Type与Subtype字段的值与名称:
Management frame(管理帧:Type=00)a
0000
Association request(关联请求)
0001
Association response(关联响应)
0010
Reassociation request(重新关联请求)
0011
Reassociation response(重新关联响应)
0100
Probe request(探测请求)
0101
Probe response(探测响应)
1000
Beacon(信标)
1001
ATIM(通知传输指示消息)
1010
Disassociation(取消关联)
1011
Authentication(身份验证)
1100
Deauthentication(解除身份验证)
1101~1111
Reserved(保留,未使用)
Control frame(控制帧:Type=01)b
1010
Power Save(PS)- Poll(省电-轮询)
1011
RTS(请求发送)
1100
CTS(清除发送)
1101
ACK(确认)
1110
CF-End(无竞争周期结束)
1111
CF-End(无竞争周期结束)+CF-ACK(无竞争周期确认)
Data frame(数据帧:Type=10)c
0000
Data(数据)
0001
Data+CF-ACK
0010
Data+CF-Poll
0011
Data+CF-ACK+CF-Poll
0100
Null data(无数据:未传送数据)
0101
CF-ACK(未传送数据)
0110
CF-Poll(未传送数据)
0111
Data+CF-ACK+CF-Poll
1000
Qos Data c
1000~1111
Reserved(保留,未使用)
1001
Qos Data + CF-ACK c
1010
Qos Data + CF-Poll c
1011
Qos Data + CF-ACK+ CF-Poll c
1100
QoS Null(未传送数据)c
1101
QoS CF-ACK(未传送数据)c
1110
QoS CF-Poll(未传送数据)c
1111
QoS CF-ACK+ CF-Poll(未传送数据)c
注:
a: 管理帧的Subtype值0110~0111与1101~1111目前并未使用。
b:控制帧的Subtype值0000~1001目前并未使用。
实例如下:
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231514981.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">
To DS与From DS位
这两个位用来指示帧的目的地是否为分布式系统(distribution system)。在基础结构型网络里,每个帧都会设定其中一个DS位。
To DS与From DS位所代表的意义
To DS=0
To DS=1
From DS=0
所有管理与控制帧。IBSS里的数据帧(非基础结构型数据帧)
基础结构型网络里无线工作站所传送的数据帧
From DS=1
基础结构型网络里无线工作站所收到的数据帧
无线桥接器上的数据帧
实例如下:

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231831309.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

More fragments位
此位的功能类似IP的“more fragments“位。若较上层的封包经过MAC分段处理,除了最后一个片段,其他片段均会将此位设定为1。大型的数据帧以及某些管理帧可能需要加以分段,除此之外的其他帧则会将此位设定为0。
Retry位
有时候可能需要重传帧。任何重传的帧会将此位设定为1以协助接收端剔除重复的帧。
Power management位
此位用来指出发送端在完成当前的原子帧交换之后是否进入省电(power-save)模式,1代表工作站即时入省电模式,而0则代表工作站会一直保持在清醒状态。
More data位
为了服务处于省电模式中的工作站,接入点会将这些从分布式系统接收来的帧加以缓存。接入点如果设定此位,即代表至少有一个帧等待给休眠中的工作站。
Protected Frame位
相对于固定式网络,无线传送本质上就比较容易被拦截。如果帧受到链路层安全协议的保护,则此位会被设定为1,而且该帧会略有不同。之前的Protected Frame位被称为WEP位。
Order位
帧与帧片段可依次传送,不过发送端与接收端的MAC必须付出额外的代价。一旦进行严格依序(strict ordering)传送,则此位会被设定为1,否则这个位必然为0。
下图为以上的对所列出的控制帧对应的位:

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231859714.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

Duration/ID(持续时间)
指一个原子操作的一个过程所需的时间,单位为微秒。RTS帧会试图预约媒介使用权,供帧交换过程使用,因此RTS帧传送者必须计算RTS帧结束后还需要多少时间用于帧交换。在下图交互过程中,总共需要3个SIFS周期、1个CTS持续时间、最后的ACK加上传送第一个帧或帧片段所需要的时间。其单位为微秒。

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/231919352.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

Address字段
一个802.11帧最多包含4个地址(Address)字段。因随着帧类型的不同,这些字段的作用也有所差异。Address 1代表接收端,Address 2代表发送端,Address 3代表被接收端拿 来过滤的地址。地址本身的长度有48位。如果传送给实际媒介的第一个位为0,则该地址为单播(unicast),如果第一位为1,则该地址为组播(multicast),如果所有的位均为1,则该地址为广播(broadcast)。
二、管理帧的结构
802.11管理帧的基本结构如下图所示(图3),所有管理帧的MAC标头都一样,与帧的子类型无关。管理帧会使用信息元素(带有数字卷标的数据块)来与其它系统交换信息。

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232030835.jpg" onload="if(this.width>650) this.width=650;" border=0 isImg="false">

Frame Control前面已经讲过
计算持续时间
管理帧使用Duration(持续时间)字段的方式。
(1) 无竞争周期内所传送的任何帧均会将持续时间设为32768。
(2) 基于竞争的访问周期内利用DCF所传送的帧会通过Duration字段防止别人访问媒介,以确保原子帧交换(atomic frame exchanges)得以完成。
a、 如果是广播或组播帧(目的地址为组地址),则持续时间会设定为0。广播与组播帧无需得到确认,因此NAV无需防止别人访问媒介。
b、 如果不是最终片段,则持续时间会设为3个SIFS加上下一个片段及其确认所需要的微秒数。
c、 最终帧片段的持续时间会设定为一个响应加上一个SIFS所需要的时间。
帧主体
管理帧十分灵活。帧主体(frame body)中的大部分数据如果使用长度固定的字段,就称为固定字段(fixed field);如果字段长度不定,就称为信息元素(information element)。所谓信息元素,是指长度不定的数据块(data block)。每个数据块均会标注类型编号和大小,各信息元素的数据字段元素都有特定的解释方式。
长度固定的管理帧组件
在管理帧中,可能出现的长度固定的字段有10种。长度固定的字段一般简称为字段(field),以便与长度不定的信息元素有所区别。字段本身并无标头可与帧主体的其它部分进行区别。因为长充与次序固定,所以不需要以字段元标头来界定。
Authentication Algorithm Number字段
Authentication Algorithm Number(身份验证算法编号)字段占用了2个字节,此字段代表关联发生之前,802.11层(802.11-level)的最初认证过程所使用的认证类型。此字段容许的值范围如下表。目前只定义了两种值,其它保留给未来版本使用。

意义
0
开放系统身份验证(Open System authentication)
1
共享密钥身份验证(Shared Key authentication)
2~65535
保留
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232102730.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

如上图所知,Authentication Algorithm的值为0为Open System。
Authentication Transacition Sequence Number字段
身份验证过程分好几个步骤,其中包含接入点所发出来的质询(challenge)以及试图关联的移动式工作站所做出的响应。此字段由两个字节构成,用以追踪身份验证的进度。此字段值介于1到65535之间,其值不可为0。在Shared key中1表示请求,2表示响应,3表示再请求,4表示响应。
Beacon interval字段
每隔一段时间就会发出一个Beacon(信标)信号用来宣布802.11网络的存在。Beacon帧中除了包含BSS参数的信息,也包含接入点缓存帧的信息,因此移动式工作站要仔细聆听Beacon信号。此帧长度为16位,用来设定Beacon信号之间相隔多少时间单位。时间单位通常缩写为TU,代表1024微秒(microsecond),相当于1毫秒(millisecond)。Beacon通常会被设定为100个时间单位,相当于每100毫秒,也就是0.1秒传送一次Beacon信号。
Capability Information字段
长度为16位的Capability Information(性能信息)字段,传送Beacon信号的时候,它被用来通告网络具备何种性能。此字段应用于Beacon帧、Probe Response帧和Association帧。
ESS/IBSS(扩展服务集/独立基本服务集)
协调者所传送的 Beacon 帧及 Probe Response 帧中,ESS = 1, IBSS = 0。属于 IBSS 的工作站所传送的 Beacon 帧及Probe Response 帧中,ESS = 0, IBSS = 1。工作站为了侦测 ESSs 而传送的 Probe 帧中,ESS =1。工作站为了侦测 IBSSs 而传送的 Probe 帧中,IBSS =1。工作站如果想同时侦测所有存在的ESSs及IBSSs, 则可同时设定ESS =1, IBSS=1。
Privacy(保密性)
如果Privacy位设定为1,代表需要使用WEP以维持机密性。
Short Preamble(短前导码)
802.11b规范新增此字段是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。将之设定为1,代表此网络目前使用短前导码(short preamble),0代表不使用此项。
PBCC(封包二进制回旋码)
802.11b规范新增此字段是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。将之设置为1,代表目前使用封包二进制回旋码(packet binary convolution coding)调制机制。0代表不使用此项。
Channel Agility(机动信道转换)
802.11b规范新增此字段是为了支持高速直接序列扩频物理层(high-rate DSSS PHY)。将之设置为1,代表此网络使用机动信道转换(Channel Agility)选项。0代表不使用此项。

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232140667.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

Short Slot Time (802.11g)
此位若设定为1,代表使用802.11所支持的较短时隙。
Listen interval(聆听间隔)字段
此字段存在于Association Request帧中。此字段是表示该工作站每隔多少个Beacon间隔会醒来一次。工作站休眠时间越多,AP暂存的资料量越大,反之亦然,如果休眠时间越长还会错失AP所发出的广播信息。如下图所示:

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232216812.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

Association ID(关联标识符)字段
  该字段存在于Association Response帧中。该字段长度为16位。

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232250822.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

Reason Code(原因代码)字段
该字段存在于Deauthentication(解除身份验证)或Disassociation(取消关联)帧作为响应。其字段长度为16位。该字段表示为对方的做法有误。如图所示:
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232401861.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

三、实例报文分析
1、AP与站点都配置为WPA的情况下:
a、 首先查看AP发出的Beacon帧中,Privacy字段值为1表示为启用加密,则说明AP为加密模式。再查看Authentication帧中的Authentication Algorithm字段的值为Open System,则说明并非Shared加密模式,而是Open加密或WPA加密。
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232557241.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">
b、 查看站点向AP发起的Association Request帧中的Privacy字段,此字段的值为1则表示启用加密(说明AP与站点的加密方式一致)。如下图所示:
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232642209.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

c、查看Vendor Specific字段中的值为WPA,unicast cipher suite: TKIP , auth key management suite 1:PSK等。再查看EAPOL Key帧的交互(六个EAPOL Key)。
<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232717982.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">
2、 AP与站点都配置为shared key:
a、 与上面一样,首先查看Beacon帧中的privacy字段,再查看Authentication帧中的Authentication Algorithm字段的值为shared key。
b、 查看四个Authentication帧,第一个为认证请求帧,第二个帧中,会有一个challenge text字段。第三个帧中,会有一个WEP parameters字段,第四个字段为交互成功的帧。查看Authentication SEQ字段,根据其值便知在哪一个交互中,如果值为4则表示为Authentication Success。如下图所示:

<IMG style="BEHAVIOR: none" alt="" src="http://img1.51cto.com/attachment/201109/232950504.jpg" width=650 onload="if(this.width>650) this.width=650;" border=0
isImg="false">

3、 AP配置为none模式,站点配置为sharedkey模式:
a、 与上面一样,首先查看Beacon帧中的privacy字段,其值应为0,再查看Authentication帧中的Authentication Algorithm字段的值为shared key,再查看;Status code。由此看出AP与站点的配置不一致。

b、 查看四个Authentication帧,第一个为认证请求帧,第二个帧主体状态码提示出错信息。如下图所示:表示AP与站点的认证不一致。
以上内容对我们分析AP与站点连接时出现异常时非常有用,分析在哪里出现问题了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: