WIFI协议全解析06:Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们

📶 Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们!

“为啥我的ESP32扫不到某些WiFi?”
“SoftAP明明开着,手机却搜不到?”
“设备搜网速度慢,是不是可以优化?”

如果你搞 WiFi 通信,这两个术语一定绕不开:Beacon 帧Probe 帧。它们看似底层,其实直接影响你的 IoT 设备能不能连上网、连得快不快!

本文就带你从嵌入式视角搞懂这两个关键帧的工作机制、作用原理与实战要点。
在这里插入图片描述


🔧 WiFi 通信的基础逻辑(别跳过)

WiFi 设备如何连接上一个无线热点(AP)?流程如下:

  1. 扫描可用热点(主动 or 被动)
  2. 选择一个 SSID
  3. 发起连接请求
  4. 进行身份认证(WPA 等)
  5. 获取 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 ResponseAP 回复请求,提供详细信息

💡 你扫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连接背后的握手过程,你的设备是如何“入网”的?》

欢迎点赞、评论、收藏支持专栏更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢乐熊嵌入式编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值