欢迎光临
我们一直在努力

《WiFi 嵌入式物联网开发全套实战》| 第04章 WiFi扫描、认证、关联全过程抓包详解

💖 点赞 + 收藏 + 关注,WiFi 嵌入式物联网开发系列持续更新!

上一章我们学完了 802.11 三大帧结构(管理帧、控制帧、数据帧)。

本章我们结合真实抓包链路,完整复现:ESP32/嵌入式设备从开机扫描 → 探测AP → 链路认证 → 关联入网 的全过程。

本章是整个WiFi调试的核心分水岭:

看懂这一章,你就彻底具备 WiFi故障定位能力。

以后遇到:扫描不到WiFi、搜信号弱、连不上、关联失败、被路由秒踢、握手超时、反复重连,直接通过链路步骤精准定位根因,不再盲调代码。

一、整体流程总览(标准 6 步入网模型)

所有 802.11 设备(手机、Linux、ESP32)接入WiFi,必须严格遵守 6 步流程,缺一不可:

  • 信道扫描:STA遍历信道、探测周围AP

  • 网络选择:STA择优BSS(信号最强、匹配SSID)

  • 802.11 链路认证:开放系统两步握手

  • 关联请求/响应:STA入网注册、AP分配网络资源

  • WPA2 四次握手:密钥协商、加密通道建立(加密WiFi才有)

  • DHCP 动态获取IP:真正联网、业务通信开始

  • 重点区分(90%新手误区):

    • 链路认证:802.11 二层基础认证(无密码)

    • 四次握手:WPA2/WPA3 加密密钥认证(输密码就是为了这一步)


    二、第一步:WiFi 扫描全过程(主动扫描 + 被动扫描)

    嵌入式设备开机不会直接连路由,必须先扫描环境中的所有BSS网络。扫描分为两种模式。

    1. 被动扫描 Passive Scan

    原理:设备不主动发任何报文,静静监听空中 Beacon 信标帧。

    AP默认每 100ms 广播一次 Beacon,携带SSID、信道、加密方式、信号能力。

    特点:

    • 功耗低、无射频发射

    • 速度慢,需要等待AP广播

    2. 主动扫描 Active Scan(ESP32 默认方式)

    原理:STA 在所有2.4G信道轮流切换,广播 Probe Request 探测请求帧。

    周围所有收到报文的AP,立即回复 Probe Response 探测响应帧。

    抓包特征:

    • 源MAC:ESP32 设备MAC

    • 目的MAC:FF:FF:FF:FF:FF:FF(广播地址)

    • 帧类型:管理帧 – Probe Request

    工程核心现象:

    我们手机/ESP32看到的WiFi列表 = Beacon帧 + ProbeResponse帧汇总结果。

    3. 扫描阶段常见故障(量产高频)

    故障1:设备搜不到路由器WiFi

    • 路由器隐藏SSID(仅主动扫描可探测)

    • 信道被国家码限制(部分信道ESP32禁用)

    • 射频干扰严重,Probe报文丢包

    故障2:扫描列表信号忽强忽弱

    多BSS同名ESS组网、信道频繁切换、邻道干扰导致。


    三、第二步:链路认证过程(802.11 开放认证)

    扫描完成、选定目标AP后,设备正式发起入网第一步:Authentication 链路认证。

    目前所有家用/工业路由统一使用:Open System 开放认证(两步极简握手)。

    抓包完整交互

    报文1:STA → AP 认证请求

    携带认证算法编号:0(开放认证)

    报文2:AP → STA 认证响应

    StatusCode=0:认证成功

    重点:这一步不需要WiFi密码,只是二层链路合法性校验。

    工程坑点

    极少数老旧路由开启 Shared Key 共享密钥认证(WEP),现代ESP32/Linux设备不兼容,会直接认证失败、无法入网。


    四、第三步:关联流程(真正入网注册)

    认证通过后,设备立即发起 Association 关联流程,这是入网最关键的一步。

    关联 = 设备正式加入BSS网络

    1. Association Request(STA -> AP)

    设备向AP提交自己的全部能力清单:

    • 支持信道带宽(20M/40M)

    • 支持WiFi速率集

    • HT/MIMO能力

    • 功耗管理模式

    2. Association Response(AP -> STA)

    AP返回入网结果,携带核心字段:StatusCode

    • StatusCode=0:关联成功,正式加入网络

    • 非0值:关联拒绝(工程排错核心)

    常见关联失败状态码

    • 17:能力不兼容(带宽、HT模式不匹配)

    • 18:AP连接数已满、资源不足

    • 29:安全策略不匹配

    实战结论:只要关联失败,设备永远无法进入握手和IP获取阶段。


    五、第四步:WPA2 四次握手(加密网络专属)

    关联成功后,加密WiFi立即启动 4-Way Handshake 四次握手。

    这一步才是验证WiFi密码、协商加密密钥的核心步骤。

    所有握手报文,全部封装在 加密数据帧 中传输。

    四次握手核心作用

  • 验证STA与AP密码是否一致

  • 协商会话临时密钥 PTK

  • 同步加密参数、防止重放攻击

  • 握手失败工程原因

    • WiFi密码错误(最常见)

    • 报文干扰丢包导致握手超时

    • 路由加密模式异常(WPA/WPA2混合模式兼容问题)

    抓包特征:握手中断后,AP会发送 Deauth Reason 15 踢除设备。


    六、第五步:DHCP 获取IP(真正联网)

    密钥协商完成后,二层链路完全建立,设备开始三层网络初始化:

    DHCP 流程:DISCOVER → OFFER → REQUEST → ACK

    拿到IP后,设备才算真正联网,可以开始 TCP/UDP/MQTT 业务通信。

    很多新手误区:

    WiFi显示“已连接无网络”,就是 802.11链路正常、DHCP失败,和WiFi帧无关,属于上层网络问题。


    七、全网链路故障定位黄金流程(工程师必杀技)

    看完本章,你可以直接套用这套逐级排查法,解决所有WiFi连不上问题:

    1. 扫不到WiFi

    排查:Probe Request 是否发出、信道是否匹配、路由是否隐藏SSID

    2. 扫描到但连不上

    排查:链路认证是否通过、关联StatusCode是否报错

    3. 能连上瞬间断开

    排查:四次握手是否超时、Deauth原因码(重点15、4、2)

    4. 连上无网络

    排查:DHCP服务、IP冲突、路由网关策略


    八、本章核心总结

    • WiFi入网严格分为:扫描 → 认证 → 关联 → 握手 → 获取IP 五步;

    • 扫描依靠 Probe/Beacon,关联决定是否成功入网,握手决定加密合法性;

    • 所有断连、拒绝入网问题,都可以通过 StatusCode / ReasonCode 精准定位;

    • 学会抓包看流程,是从“只会写代码”到“工业级调试”的关键跨越。

    下一章预告:

    第05章 WiFi加密原理:开放 / WEP/WPA2/WPA3 安全机制与漏洞,彻底吃透物联网WiFi安全体系、常见破解风险与量产安全选型。

    💖 点赞 + 收藏 + 关注,WiFi 嵌入式物联网开发系列持续更新!

     

    赞(0)
    未经允许不得转载:171主机测评 » 《WiFi 嵌入式物联网开发全套实战》| 第04章 WiFi扫描、认证、关联全过程抓包详解
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址