初探802.11协议——帧结构
Posted herdyouth
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初探802.11协议——帧结构相关的知识,希望对你有一定的参考价值。
本篇主要是针对802.11第9章《Frame formats》进行介绍。
一、General frame format
(注意单位是Octets,即一个字节,8位)
- Frame Control field:2 Octets,总共16位
(1) Protocol Version:协议版本。当前默认为0。
For this standard, the value of the protocol version is 0. All other values are reserved.
(2) Type & Subtype:类型 & 子类型
Type:There are three frame types: control, data, and management. 表示控制帧、数据帧和管理帧。
Each of the frame types has several defined subtypes.
(3) ToDS & FromDS bit
In Control frames, To DS and From DS, when present, are both zero.
控制帧的这两个字段都是设置的0,管理帧和数据帧这两个字段是有含义的,详情可参见spec,这里就不罗列的。
(4) More Fragments:是否有分片。控制帧这一位设置为0,因为他是不可能被分割的。
(5) Retry:控制帧必然为0,因为它不像管理帧或数据帧那样出现序列中等候重送的情况。
(6) Power Management:此 bit 用来指示、完成当前的帧交换过程后,发送端的电源管理状态,例如是PS(Power Save) mode还是active mode。具体的场景可参见spec,这里也不做罗列。
In an IBSS, the Power Management subfield is valid only in certain frames as described in 11.2.4.4
In an MBSS, the Power Management subfield is valid only in frame exchanges as described per the mesh power management mode transitions rules in 14.14
电源管理主要是要解决好”数据传输的连贯性“,这里以"BSS模式,STA为手机“为例,简单介绍下:
a. 处于PS模式下,STA可能关闭收发器(主要可能是关闭tx,rx相对tx耗电可能更少一点)以节省电力;
b. AP需要了解和它关联的STA的电源管理状态。当STA进入PS状态后,AP就要做好准备以缓存发给该STA的数据帧。一旦STA醒来并进入Active mode,AP就需要将这些缓存的数据发送给该STA。在AP中,每个和其关联的STA都会被分配一个 AID(Association ID)。
c. AP需要定时发送自己的数据缓存状态。因为STA也会定期接收信息(关闭收发器主要是控制tx)。一旦STA进入Active mode就会通过PS-POLL控制帧来接收AP缓存的帧。
(7) More Data:是否还有数据,基本用于数据帧,在控制帧中此 bit 必然为 0。这个字段经常用于电源管理中,例如上面提到了在PS mode下AP会有缓存帧,那STA怎么知道已经取完了AP缓存的数据帧呢?这个字段就起到了作用。
(8) Protected Frame:帧是否受保护。
下一篇会开始介绍主要的控制帧、管理帧、数据帧
二、使用wireshark解密sniff
以前都是用的收费的onimpeek,这里以免费的Wireshark来分析包吧。
我这里使用的wireshark版本Version 3.4.6 (v3.4.6-0-g6357ac1405b8)。
注意这里的key格式是 “PWD:SSID”
以上是关于初探802.11协议——帧结构的主要内容,如果未能解决你的问题,请参考以下文章
初探802.11协议——帧聚合(Frame Aggregation)
初探802.11协议——帧聚合(Frame Aggregation)/BA(Block Ack)