无线报文的简单分析

来源:互联网 发布:土建工程量计算软件 编辑:程序博客网 时间:2024/05/18 01:34

无线报文的简单分析

摘要:

     本文档在《无线关联的交互过程》基础上做简单的报文分析。了解无线关联过程中的一些相关报文分析。

关键字:Client、AP

 


802.11帧分为三个部分:帧头(Mac header)、帧实体(body)、FCS域。分为MAC header、Frame Body和FCS。MAC header由4个字段构成,分别为:Frame Control、Duration ID、Address、Seq ctl。一般情况是Address仅只有目的地址、源地址和BSSID。

一、Frame Control(帧控制)

所有帧的开头均是长为两个字节的Frame Control(帧控制)字段,Frame Control字段包括以下子字段:Protocol、Type、Subtype、To DS、From DS、More fragments、More fragments、Retry、Power management、More data、Protected Frame。

下面分别来介绍每个字段:

Protocol字段

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

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目前并未使用。

实例如下:

To DS与From DS位

这两个位用来指示帧的目的地是否为分布式系统(distribution system)。在基础结构型网络里,每个帧都会设定其中一个DS位。

To DS与From DS位所代表的意义

 

To DS=0

To DS=1

From DS=0

所有管理与控制帧。IBSS里的数据帧(非基础结构型数据帧)

基础结构型网络里无线工作站所传送的数据帧

From DS=1

基础结构型网络里无线工作站所收到的数据帧

无线桥接器上的数据帧

实例如下:

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。

下图为以上的对所列出的控制帧对应的位:

Duration/ID(持续时间)

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

Address字段

     一个802.11帧最多包含4个地址(Address)字段。因随着帧类型的不同,这些字段的作用也有所差异。Address 1代表接收端,Address 2代表发送端,Address 3代表被接收端拿 来过滤的地址。地址本身的长度有48位。如果传送给实际媒介的第一个位为0,则该地址为单播(unicast),如果第一位为1,则该地址为组播(multicast),如果所有的位均为1,则该地址为广播(broadcast)。

二、管理帧的结构

802.11管理帧的基本结构如下图所示(图3),所有管理帧的MAC标头都一样,与帧的子类型无关。管理帧会使用信息元素(带有数字卷标的数据块)来与其它系统交换信息。

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

保留

如上图所知,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代表不使用此项。

Short Slot Time (802.11g)

   此位若设定为1,代表使用802.11所支持的较短时隙。

Listen interval(聆听间隔)字段

此字段存在于Association Request帧中。此字段是表示该工作站每隔多少个Beacon间隔会醒来一次。工作站休眠时间越多,AP暂存的资料量越大,反之亦然,如果休眠时间越长还会错失AP所发出的广播信息。如下图所示:

Association ID(关联标识符)字段

  该字段存在于Association Response帧中。该字段长度为16位。

Reason Code(原因代码)字段

该字段存在于Deauthentication(解除身份验证)或Disassociation(取消关联)帧作为响应。其字段长度为16位。该字段表示为对方的做法有误。如图所示:

三、实例报文分析

1、AP与站点都配置为WPA的情况下:

a、  首先查看AP发出的Beacon帧中,Privacy字段值为1表示为启用加密,则说明AP为加密模式。再查看Authentication帧中的Authentication Algorithm字段的值为Open System,则说明并非Shared加密模式,而是Open加密或WPA加密。

b、  查看站点向AP发起的Association Request帧中的Privacy字段,此字段的值为1则表示启用加密(说明AP与站点的加密方式一致)。如下图所示:

c、查看Vendor Specific字段中的值为WPA,unicast cipher suite: TKIP , auth key management suite 1:PSK等。再查看EAPOL Key帧的交互(六个EAPOL Key)。

2、             AP与站点都配置为shared key:

a、  与上面一样,首先查看Beacon帧中的privacy字段,再查看Authentication帧中的Authentication Algorithm字段的值为shared key。

b、  查看四个Authentication帧,第一个为认证请求帧,第二个帧中,会有一个challenge text字段。第三个帧中,会有一个WEP parameters字段,第四个字段为交互成功的帧。查看Authentication SEQ字段,根据其值便知在哪一个交互中,如果值为4则表示为Authentication Success。如下图所示:

  

3、             AP配置为none模式,站点配置为sharedkey模式:

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

b、  查看四个Authentication帧,第一个为认证请求帧,第二个帧主体状态码提示出错信息。如下图所示:表示AP与站点的认证不一致。

以上内容对我们分析AP与站点连接时出现异常时非常有用,分析在哪里出现问题了。

参考文档:《802.11 无线网络》

原创粉丝点击