当前位置: 首页 > ops >正文

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的分层结构:嵌入式开发视角全解析》
  • 《搞懂2.4GHz 和 5GHz,做IoT产品别再乱选频段了!》
  • 《WiFi的安全机制:IoT设备如何实现安全连接?》

📌 下一篇预告:

👉《WiFi连接背后的握手过程,你的设备是如何“入网”的?》

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

http://www.xdnf.cn/news/15143.html

相关文章:

  • 【理念●体系】Windows AI 开发环境搭建实录:六层架构的逐步实现与路径治理指南
  • SEQUENCE在RAC多实例开启CACHE的NEXTVAL数值乱序问题
  • 从代码学习深度强化学习 - PPO PyTorch版
  • Go语言WebSocket编程:从零打造实时通信利器
  • Linux操作系统从入门到实战:怎么查看,删除,更新本地的软件镜像源
  • 蔚来测开一面:HashMap从1.7开始到1.8的过程,既然都解决不了并发安全问题,为什么还要进一步解决环形链表的问题?
  • Spring的事务控制——学习历程
  • HarmonyOS NEXT端云一体化开发初体验
  • [Dify] -基础入门4-快速创建你的第一个 Chat 应用
  • 牛客:HJ17 坐标移动[华为机考][字符串]
  • Leaflet面试题及答案(1-20)
  • [实战]调频三角波和锯齿波信号生成(完整C代码)
  • 深入浅出:什么是MCP(模型上下文协议)?
  • 力扣网编程134题:加油站(双指针)
  • C++中柔性数组的现代化替代方案:从内存布局优化到标准演进
  • Debian:从GNOME切换到Xfce
  • 扫描文件 PDF / 图片 纠斜 | 图片去黑边 / 裁剪 / 压缩
  • I2C集成电路总线
  • Semi-Supervised Single-View 3D Reconstruction via Prototype Shape Priors
  • 基于Java Spring Boot开发的旅游景区智能管理系统 计算机毕业设计源码32487
  • linux网络编程之单reactor模型(一)
  • Python 数据建模与分析项目实战预备 Day 2 - 数据构建与字段解析(模拟简历结构化数据)
  • 【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化
  • GNhao,获取跨境手机SIM卡跨境通信新选择!
  • 手机恢复出厂设置怎么找回数据?Aiseesoft FoneLab for Android数据恢复工具分享
  • Java中的泛型继承
  • 深度学习篇---昇腾NPUCANN 工具包
  • 《Java EE与中间件》实验三 基于Spring Boot框架的购物车
  • BLOB 数据的插入与读取详解
  • Linux驱动学习day22(interrupt子系统)