今天觉得有必要将最近在智能wifi芯片中涉及到的有关802.11无线WIFI协议的知识储备记录下来。

1、使用802.11无线WIFI的数据长度来传递信息

802.11 是 IEEE 制定的无线局域网协议,802.11 以 802.2 的逻辑链路控制封

装来携带 IP 封包,因此能够以 802.2 SNAP 格式接收无线网络数据。如果开启

wifi 芯片的混杂模式监听空间中的无线信号,并以 802.2 SNAP 格式从数据链路

层截取数据,就会得到如下图所示的数据包:

WLAN常见的基本架构_字段

其中,DA,SA,Length,LLC,SNA不管数据有没有加密,都是暴露的,但是如果用来传输数据,DA,SA,LLC,SNA可能会由于系统的限制,发送方一般很难获取,因此,剩下的length长度可以作为承载信息的载体传输数据,称之为广播传输数据。同时,我们可以也可以使用字段DA作为数据载体,这就要确保发送的路由器硬件环境支持多播。目前每个厂家基本都是使用多播+广播的格式,其中多播能够传输的数据量大,速度快,而广播由于只能用长度来标识数据信息,传输数据量小,但是由于其兼容性好,一般都会被厂家保留。

2、802.11 FrameControl wifiType的判断

在802.11的帧头进行判断中

WLAN常见的基本架构_WLAN常见的基本架构_02


我们只对802.11的数据帧进行判断,对其数据帧的数据格式(subtype)进行判断过程中,针对目前的手机与路由器组合,我们发现了

0000(Data) 1000(Qos Data)的组合(可以在wireshark下打开抓取的数据包,这样能看到具体的subtype值),这两个都有可能是作为载体的数据类型,当然这也完全是经验值,具体还有哪些类型需要积累

3.802.11 FrameControl TO DS 与 From DSbit

协议帧地址位的解读取决于这两个bit的设定。所以要根据这两个字段摘取对应的地址信息

WLAN常见的基本架构_WLAN常见的基本架构_03

具体对应如下:

WLAN常见的基本架构_字段_04