WIFI协议全解析06:Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们
📶 Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们!
“为啥我的ESP32扫不到某些WiFi?”
“SoftAP明明开着,手机却搜不到?”
“设备搜网速度慢,是不是可以优化?”如果你搞 WiFi 通信,这两个术语一定绕不开:Beacon 帧 和 Probe 帧。它们看似底层,其实直接影响你的 IoT 设备能不能连上网、连得快不快!
本文就带你从嵌入式视角搞懂这两个关键帧的工作机制、作用原理与实战要点。
🔧 WiFi 通信的基础逻辑(别跳过)
WiFi 设备如何连接上一个无线热点(AP)?流程如下:
- 扫描可用热点(主动 or 被动)
- 选择一个 SSID
- 发起连接请求
- 进行身份认证(WPA 等)
- 获取 IP 地址
其中的第1步,**“扫描”**阶段,是 Beacon 帧和 Probe 帧的主场!
📡 什么是 Beacon 帧?
Beacon(信标)帧是 AP(无线接入点)周期性发出的广播帧,用于“宣告自己存在”。
📋 Beacon 帧包含什么?
字段 | 作用 |
---|---|
SSID | 热点名称 |
支持的速率 | 802.11b/g/n等 |
频段与信道 | 如 2.4GHz, 信道 6 |
安全信息 | 是否开启加密、WPA类型 |
时间戳 | 网络同步用 |
能力字段 | 是否支持QoS、AP是否隐藏SSID等 |
![]() |
📶 Beacon 的频率是多少?
- 默认每 100ms 发送一次(可在路由器中调整)
- 是广播帧,所有设备都能接收
- 通常由 AP 在每个信道上轮流广播
🔍 什么是 Probe 帧?
Probe 帧是 由终端设备主动发送的请求帧,分为两种:
类型 | 描述 |
---|---|
🔍 Probe Request | 设备主动询问网络信息 |
📡 Probe Response | AP 回复请求,提供详细信息 |
💡 你扫WiFi时到底发生了什么?
[ 终端设备 ] [ WiFi 路由器 ]↓ ↑
发送 Probe Request (你有在吗?) ←←←←↓ ↑
收到 Probe Response (我在这!这是我的信息)
或:
[ 终端设备 ] ←←←←←←←←←←←←←←←←←←←←被动监听 Beacon(我是谁,我在哪)
🔄 主动扫描 vs 被动扫描
类型 | 方式 | 原理 | 优劣分析 |
---|---|---|---|
被动扫描 | 等待 Beacon | 只监听信道广播帧 | ✅ 低功耗 ❌ 速度慢 |
主动扫描 | 发送 Probe | 主动发请求找热点 | ✅ 快速响应 ❌ 高能耗 |
嵌入式设备一般默认使用主动扫描,以快速获取 AP 列表。
🔐 隐藏SSID和 Probe 扫描的关联
你一定见过“隐藏SSID”的路由器,手机上显示为“隐藏网络”。
关键点:
- 隐藏SSID的 AP 不会在 Beacon 中发送 SSID 名称
- 但当终端发出 Probe Request 并带上指定 SSID,AP 会用 Probe Response 回应
✅ 所以——主动扫描可以发现隐藏SSID的网络!
📲 ESP32 开发中怎么用到它们?
使用 esp_wifi_scan_start()
时,本质上:
- ESP32 会在每个信道上发送 Probe Request
- 接收 Beacon 和 Probe Response 并填充扫描列表
wifi_scan_config_t scan_config = {.ssid = NULL, // 扫所有.bssid = NULL,.channel = 0,.show_hidden = true, // 是否扫描隐藏SSID.scan_type = WIFI_SCAN_TYPE_ACTIVE, // 主动扫描
};
🧰 实战Tips:扫描不准、搜网慢、连不上?
问题 | 可能原因 | 解决方法 |
---|---|---|
扫不到热点 | AP信号弱 or Beacon发得慢 | 尝试主动扫描 |
连网时间长 | 扫描信道过多 or 扫描延迟 | 设定信道范围 |
多个AP重复名 | Beacon 无 BSSID区分 | 使用 MAC 地址做标识 |
隐藏热点连接失败 | 没设置 .show_hidden = true | 修改配置 |
SoftAP 不广播 | 没设置 .ssid_hidden = false | 开启 SSID 广播 |
👁️ 抓包看 Beacon & Probe(附Wireshark图示)
你可用 Wireshark + 网卡监听:
802.11 Beacon Frame
:周期性广播802.11 Probe Request/Response
:由终端发起
字段如:
SSID: "ESP32_AP"
Supported Rates: 1, 2, 5.5, 11 Mbps
Capability Info: ESS, Short Preamble
🧠 总结
你应该记住的重点 ✅ |
---|
Beacon 是 AP 的广播通告,终端通过监听可发现网络 |
Probe Request 是终端主动发出探测,响应更快 |
主动扫描适合快速连网,但稍耗电 |
隐藏SSID AP 不发 Beacon SSID,只能主动扫描找 |
嵌入式设备扫描失败,多从 Beacon/Probe 逻辑排查 |
📚 延伸阅读推荐:
- 《一文读懂WiFi的分层结构:嵌入式开发视角全解析》
- 《搞懂2.4GHz 和 5GHz,做IoT产品别再乱选频段了!》
- 《WiFi的安全机制:IoT设备如何实现安全连接?》
📌 下一篇预告:
👉《WiFi连接背后的握手过程,你的设备是如何“入网”的?》
欢迎点赞、评论、收藏支持专栏更新!