4、Beacon帧与网络发现:Beacon帧结构解析、隐藏SSID的发现、通过Beacon帧识别网络类型与信道

Beacon帧,说白了就是Wi-Fi网络的“心跳广播”。

每个AP(接入点)每隔100毫秒左右就会往外喊一嗓子:“我在这儿!我叫啥名?我支持什么速度?我在哪个信道?”

你想想看,如果没有Beacon帧,你的手机怎么知道周围有哪些Wi-Fi?

嗯,这节课我们就来解剖这个帧。我会把它的结构掰开揉碎,再聊聊怎么用它发现隐藏SSID,以及如何通过它判断网络类型和信道。

4.1 Beacon帧结构解析

Beacon帧属于管理帧的一种。它的帧体部分包含了一大堆固定字段和可选信息元素(Information Element,简称IE)。

我个人习惯把Beacon帧体分成三块来看:

  • 固定字段:时间戳、Beacon间隔、能力信息
  • 必选信息元素:SSID、支持速率、DS参数集(信道)
  • 可选信息元素:HT Capabilities(802.11n)、VHT Capabilities(802.11ac)、HE Capabilities(802.11ax)、RSN(安全信息)等

下面这张图是我自己画的Beacon帧结构,你看一眼就能记住大概。

Beacon帧结构图 MAC 帧头 (24 字节) 帧体 (Frame Body) — 变长 FCS (4 字节) 时间戳 (8B) Beacon间隔 (2B) 能力信息 (2B) 信息元素 (IE) ... 变长 SSID 支持速率 DS参数集 RSN HT Cap VHT/HE Cap 说明:Beacon间隔通常为100 TU(约102.4 ms),DS参数集字段直接给出当前信道号

这里我重点说几个关键字段:

字段 长度 作用
时间戳 8字节 用于客户端同步时钟,避免时间偏差
Beacon间隔 2字节 单位是TU(1 TU = 1.024 ms),默认100
能力信息 2字节 标识是否支持WEP、WPA、短前导码等
SSID 变长(最大32字节) 网络名称,隐藏SSID时此字段为空
DS参数集 3字节 第3个字节就是当前信道号

小技巧:抓包时,直接看Beacon帧的DS参数集字段就能知道AP在哪个信道。不用猜,不用扫,一帧搞定。

4.2 隐藏SSID的发现

很多管理员觉得“隐藏SSID”很安全。其实……

嗯,我直接说吧:隐藏SSID对攻击者来说基本等于没隐藏。

为什么?因为Beacon帧里虽然把SSID字段填成了空,但客户端在连接时发的Probe Request帧里会明明白白地写着你要连的SSID。而且,有些AP在Beacon帧里虽然不广播SSID,但在Probe Response里会老老实实把SSID吐出来。

我在项目中遇到过好几次:客户说“我隐藏了Wi-Fi,肯定安全”,结果我用Wireshark一抓,三秒钟就看到了SSID。

具体怎么发现隐藏SSID?有两种方法:

  1. 被动监听Probe Response:当有合法客户端连接时,AP会回复Probe Response,里面SSID字段是完整的。
  2. 主动发送Probe Request:攻击者可以发送针对空SSID的Probe Request,有些AP会直接回复自己的SSID。

注意:隐藏SSID并不能真正防住攻击者。它只能防住“打开Wi-Fi列表看不到”这种级别的用户。真正的安全要靠WPA2/WPA3加密和强密码。

在Wireshark里,你可以用过滤表达式快速找到隐藏SSID的Beacon帧:

wlan.fc.type_subtype == 8 && wlan.ssid == ""

这条过滤的意思是:类型子类型为8(Beacon帧),且SSID字段为空。抓到之后,再找同一个BSSID的Probe Response,就能看到真正的SSID。

4.3 通过Beacon帧识别网络类型与信道

Beacon帧里藏着大量信息,能帮你判断这个网络是2.4G还是5G,是802.11n还是802.11ac,甚至能看出它用的加密方式。

我个人习惯按这个顺序来识别:

  • 看DS参数集:信道号1-13是2.4G,36-165是5G。一秒钟判断频段。
  • 看HT Capabilities:如果存在这个IE,说明支持802.11n。带宽字段能看出是20MHz还是40MHz。
  • 看VHT Capabilities:存在这个IE就是802.11ac。支持80MHz、160MHz带宽。
  • 看HE Capabilities:存在这个IE就是802.11ax(Wi-Fi 6)。
  • 看RSN IE:里面包含加密套件信息。能看出是WPA2还是WPA3,是CCMP还是GCMP。

举个例子,你在Wireshark里打开一个Beacon帧,展开帧体,看到:

Tag: VHT Capabilities (802.11ac)
    Tag Number: 191 (VHT Capabilities)
    VHT Capabilities Info: 0x038081b2
    Supported VHT-MCS and NSS Set: ...

嗯,看到Tag 191,基本可以确定这是802.11ac的AP。再往下翻,如果看到Tag 255(HE Capabilities),那就是Wi-Fi 6。

核心要点:Beacon帧里的信息元素(IE)就是AP的“自我介绍”。每个IE都有一个唯一的Tag Number。记住几个关键的Tag Number,你就能快速识别网络类型。

下面这张表是我自己整理的常用Tag Number,建议你收藏一下:

Tag Number 信息元素 作用
0 SSID 网络名称
1 支持速率 AP支持的基础速率集
3 DS参数集 当前信道号
45 HT Capabilities 802.11n能力
48 RSN 安全信息(WPA2/WPA3)
191 VHT Capabilities 802.11ac能力
255 HE Capabilities 802.11ax能力

最后说一句:Beacon帧是无线网络分析的起点。你只要学会读懂它,后面学什么Probe帧、Auth帧、Assoc帧都会轻松很多。

我曾经在一次渗透测试中,光靠分析Beacon帧就判断出了目标网络的AP型号、固件版本和加密弱点。嗯,这就是基本功的力量。