Probe Request 帧结构详细分解

Probe Request帧结构

概述

probe request属于管理帧,其遵循管理帧的一般格式,在《802.11无线权威指南》中管理帧的一般格式为:
Probe Request 帧结构详细分解_第1张图片

因为probe request属于管理帧,所以其也遵循这个格式。但是不同的是不同的管理帧的Frame Body是不同的。下图是Probe Request帧的组成细节:
Probe Request 帧结构详细分解_第2张图片

帧主体中大部份的数据,如果使用长度固定的位,就称为固定式位。

如果位长度不定,就称为信息元素( information element)。所谓信息元素,是指长度不定的数据区块。 每个数据区块均会标注上类型编号与大小, 各种信息元素的数据位都有特定的解释方式。

下面结合抓取的报文,来仔细分析下Probe Request帧各部分内容和含义。

MAC Header(24字节)

下图截取的是利用Omnipeek抓取的Probe Request帧,已经将其MAC Header标记起来。

在这里插入图片描述

对应于右边的16进制格式,我们可以看到MAC Header刚好是24字节(即2+2+6+6+6+2)这和802.11 协议规定的是一致的。

Frame Control(2字节)

先看frame control板块内容:

Probe Request 帧结构详细分解_第3张图片

这两个字节的内容主要包含了一下内容:

  • version:版本,802.11定义了版本1,0表示保留未用,2未定义。
  • Type:帧类型,这里显示是管理帧
  • Subtype:那种帧,即Probe Request
  • Frame Control Flags:1个字节表示出帧的一些属性,如会否是重传帧,是否分段、设备是否处于power save mode 。
Duration(2字节)

因为这里属于管理帧,无需等待回复ACK所以这里该值为0。

DA(6字节)

在这里插入图片描述
即目的MAC地址,因为是广播这里可以看到它是:FF:FF:FF:FF:FF:FF

SA(6字节)

在这里插入图片描述

即源MAC地址,就是我们发出这包帧的设备的地址。

BSSID(6字节)

在这里插入图片描述

我们所在的BSS网络的MAC地址,简单来说就是AP的MAC地址。因为现在还未连上网络,且是以广播的形式发送帧,所以这里是FF:FF:FF:FF:FF:FF。

seq_ctrl(2字节)

在这里插入图片描述

当前帧的编号。

Frame Body(0~2312字节)

这部分是可变的,会根据填写的长度的大小来改变其大小。

Probe Request 帧结构详细分解_第4张图片

Frame Body部分携带了Probe request帧所包含的所有信息,Probe request 会携带当前设备所具有的一些能力信息。主要有一下三个部分:

  1. 想要加入的AP的SSID(可变的,根据实际情况选择)
  2. 支持的速率(supported rate)(可变的,根据硬件和驱动的支持情况改变)
  3. 扩展支持速率(Extended Supported Rate)

FCS(4字节)

在这里插入图片描述

帧校验序列,是802.11为了提高通信的可靠性提出的。比如说数据帧在空气中传播的时候受到了干扰而改变了数据的内容(我们知道无线通信属于不可靠通信,这种情况是比较常见的),那么在进行FCS校验的时候MAC层会将FCS校验不合格的帧丢弃掉。

你可能感兴趣的:(WiFi)