尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WiFi连接全流程揭秘:从扫描、认证到关联的802.11协议详解

WiFi连接全流程揭秘:从扫描、认证到关联的802.11协议详解 手机连着WiFi屏幕左上角出现那个小扇子图标整个过程看起来也就一两秒。但你不知道的是就这么一眨眼的功夫你的手机已经和路由器之间来回飞了少说十来个管理帧。做无线运维这几年我发现自己排查过的WiFi问题里八成以上最后都要绕回到关联Association这个环节。要么是卡在认证没过去要么是关联请求直接被拒了要么是关联之后该走的流程没走完。把AP和STA从陌生到挂在同一张BSS到底经历了什么彻底搞清楚很多所谓的玄学问题其实当场就能破。这篇文章就围绕APAccess Point接入点和STAStation站点建立关联的完整过程来拆。从扫描发现、认证、关联到关联之后的四次握手和DHCP每一步我会把帧交互格式、状态码、容易踩的坑都摊开讲。适合刚入门无线网络的工程师、经常被WiFi问题折磨的运维同学也适合想弄明白手机到底怎么连上WiFi的硬件和嵌入式开发者。读完你至少能自己抓包复现一次完整的关联流程而不是只会重启路由器。1. 关联过程在WiFi体系里的位置为什么先搞懂它1.1 一次成功的关联只是连网的第一步很多人以为WiFi连上了 能上网这个理解差得远。在802.11协议栈里STA和AP建立关联只是链路层打通它解决的是我能不能成为这个无线网络的一员这个身份问题。真正决定你能不能上网的还有后面的WPA2/3握手、DHCP获取IP地址、默认网关可达性甚至还要过Portal认证的关卡。这里有个很关键的区分**认证Authentication和关联Association**是两个不同的阶段很多人把二者混为一谈。认证解决的是你是谁、你有没有资格进入这个网络而关联解决的是AP是否愿意接待你、把你纳入它的管理列表。在802.11的标准流程里必须先认证成功之后才能发起关联请求。关联成功之后STA才真正被AP记录为一个合法的关联站点AP才会给它转发数据帧。我见过不少刚入行的同事在排查问题时一口咬定客户端连上WiFi了但抓包一看其实关联压根没成功。我自己的习惯是接到无线问题先问三件事能不能搜到SSID、连接时提示什么、连上之后有没有IP。这三个问题正好对应扫描、关联、DHCP三个环节把阶段定位准了问题基本就解决一半。1.2 802.11状态机从State 1到State 3协议里用状态机来刻画STA和AP之间的关系一共三个状态记住这个模型后面所有帧交互就都串起来了State 1未认证、未关联。这是初始状态STA可以发送Probe Request去扫描也可以收到Beacon但还不能发数据帧。State 2已认证、未关联。认证通过但还没有被AP正式收编。此时STA可以发Association Request也可以发一些管理帧但同样不能发正常的数据帧。State 3已认证、已关联。这就是正常的在线状态STA可以正常收发数据帧了。三个状态之间的跳转是靠管理帧来推动的。从State 1跳到State 2靠的是Authentication Request/Response的往复从State 2跳到State 3靠的是Association Request/Response的成功交换。任何一端发Deauthentication或者Disassociation帧状态就会直接掉回State 1。这个模型的价值在于排查。比如你在抓包里看到STA反复发Association Request但AP一直回失败那就是卡在State 2如果你看到STA发了数据帧但AP完全没回应那可能是状态机已经掉回State 1但STA没感知。Wireless网优和排障的很多本质上都是在分析这个状态机的跳转是否顺利。2. 第一阶段扫描发现——STA怎么找到AP的2.1 被动扫描蹲守Beacon帧任何关联发生之前STA必须先知道附近有哪些AP。这一步靠的是扫描扫描又分被动和主动两种。被动扫描非常简单直接AP会周期性向外广播Beacon帧默认间隔是100个TUTime Unit1 TU 1.024ms也就是大约每102.4毫秒一发。Beacon帧里塞了大量信息包括SSID、BSSID、支持的速率、信道号、加密方式RSN IE里面有AKM套件和密码套件、802.11能力信息HT/VHT/HE/EHT以及AP的Country、Power Constraint这些可选元素。STA要做的事情就是在一个信道上蹲着听Beacon停够一段时间之后切换到下一个信道继续听把所有信道上能收到的Beacon都记录下来。这就像你在商场一楼站着不动等各个店铺门口发传单的人把传单递到你手里一样。被动扫描对STA来说省电因为你不需要主动发任何东西但对用户来说感受不好——如果手机扫描停留在某个信道时间过长就会拖慢发现AP的速度。被动扫描还有一个坑如果AP开启了隐藏SSIDBeacon帧里的SSID字段长度置0那被动扫描收集到的就是一个没有名字的网络。手机能不能连上这种网络取决于用户是否手动输入过这个SSID。这也是为什么隐藏SSID经常被吐槽隐藏了个寂寞——因为管理帧里的信息仍然能被抓包工具直接看到只是普通用户的设备列表里不显示而已。2.2 主动扫描用Probe Request敲门主动扫描是STA更常用的方式尤其在连接已知网络的时候。主动扫描分两种带SSID的定向扫描和不带SSID的广播扫描。定向扫描很好理解STA记得自己连接过某个SSID于是发一个Probe Request里面明确写了目标SSID。AP收到之后如果SSID匹配就会回复一个单播的Probe Response。广播扫描则是在Probe Request里不带SSID或者SSID长度置0所有听到这个请求的AP都会回复。前者适合快速重连已知网络后者适合让用户列出附近所有可用的WiFi。这里有个容易被忽略的细节Probe Response和Beacon包含的信息基本一致但Probe Response是单播的所以它可以携带一些Beacon里不方便放的信息比如AP当前的负载、BSS Load元素关联了多少个STA、信道利用率等。新一代的802.11协议甚至允许AP在Probe Response里带自己的具体位置信息方便导航类应用使用。在2.4GHz频段和5GHz频段主动扫描的信道覆盖也不一样。2.4GHz一般扫1、6、11三个互不重叠的信道就足够覆盖整个频段了而5GHz信道数量更多36、40、44、48、52、56、60、64……还要考虑DFS信道52-64、100-140等的雷达检测机制——在DFS信道上AP如果检测到雷达会在Beacon里设置一个Channel Switch Announcement把网络挪到别的信道上去。这个机制在实际组网中挺烦人经常导致5G信号凭空消失几秒钟。2.3 扫描结果怎么读AP怎么选扫描完成后STA手里会有一堆BSSID、SSID、RSSI信号强度、信道、加密方式的数据。选哪个AP不是单纯看信号强度而是一套综合判断首选肯定是可以匹配的SSID且加密方式自己支持。然后是信号强度一般用RSSI来衡量。手机上显示的满格通常对应-50dBm以上-70dBm以下就开始不友好了-80dBm基本没法稳定用。在同一个SSID有多个AP的企业环境里802.11k/v/r这些协议还能帮STA预取邻居AP的信息实现更平滑的漫游决策。不过这是漫游的话题后面讲重关联的时候再展开。我看过很多人在这一步就出问题。比如AP部署在5GHz频段但开了10个信道STA的扫描列表却需要好几十秒才能完整过一遍因为有些信道在DFS状态不能马上应答。再比如2.4GHz频段上AP的SSID广播间隔被人为调到1000msSTA的被动扫描等待时间不够就有概率搜不到这个AP。这些问题基本都能靠主动扫描缓解也是我调无线时优先建议把环境里的旧设备、旧客户端都排查一遍的原因——新协议解决了很多旧问题但也会暴露旧终端的不兼容。3. 第二阶段认证Authentication——走个流程还是真验证3.1 开放系统认证为什么形同虚设802.11协议定义了几种认证方式最常见的是开放系统认证Open System Authentication。名字听着像是开放系统实际流程就是走过场STA发一个Authentication Request认证算法编号填0open systemAP回一个Authentication Response状态码填0成功。就这两帧完事了。你可能会问既然啥都没验证为什么要存在这一步原因是历史遗留。802.11最早的认证设计并没有考虑到后来的WPA/WPA2加密它默认链路层的认证是独立于加密的。开放系统认证本身不提供任何访问控制真正的访问控制靠的是关联成功后的加密握手比如WPA2的四次握手或者靠上层的802.1X、Portal认证。所以当你看到WPA2-Personal网络里手机连接时链路层的认证就是开放系统认证——AP根本没有验证你的密码密码验证发生在关联之后的四次握手阶段。这一点很多人理解反了以为输错密码就会被认证阶段拒掉实际不是。输错密码时四次握手失败AP会在EAPOL层把STA踢下线表现为你手机上正在连接...然后突然断开。3.2 共享密钥认证与WEP的往事在WEP时代还有一种共享密钥认证Shared Key Authentication流程稍微走点心AP发一个128字节的Challenge Text挑战值给STASTA用WEP密钥加密后返回AP用本地密钥解密比对一致就认证通过不一致就拒绝。这套机制看似合理但有个致命伤挑战值和加密后的结果都是明文在空中传输的攻击者只要抓包拿到明文挑战值 对应的密文在RC4算法的弱点配合下就能恢复出密钥流——而这正是当年WEP被快速破解的根本原因之一。所以共享密钥认证非但没有提升安全性反而比开放系统认证更危险开放系统至少不会在空中泄露可用于密钥推导的明密文对。现在的802.11网络基本见不到Shared Key Authentication了WPA/WPA2时代统一退回到开放系统认证加预共享密钥PSK的方式。WPA2-Personal的安全性并不依赖链路层认证而是依赖PSK的复杂度和四次握手过程。如果你在公司里看到有人为了安全开了共享密钥认证赶紧劝他关掉纯属背道而驰。3.3 WPA3的SAE把安全前置到关联前WPA3的诞生改变了这个格局。WPA3-Personal使用SAESimultaneous Authentication of Equals对等实体同时认证它不再像WPA2那样把安全验证全部丢给关联后的四次握手而是把密钥协商前置到Authentication阶段。具体流程是STA发Authentication Request认证算法编号填3SAE然后双方在认证帧的载荷里完成Commit和Confirm两个阶段的交换用椭圆曲线密码学证明双方确实掌握了同一个PSK。只有这个验证通过AP才会在认证响应里返回成功之后才允许STA进入Association阶段。所以WPA3网络里的Authentication不再是走过场了它是实打实的密码验证。这就带来一个很直观的现象WPA3网络下如果你输错密码在认证阶段就会被拒掉手机会直接提示密码错误而WPA2网络下则是转几秒圈再断体验上明显不同。我在配置企业AP时只要终端兼容性允许都会优先启用WPA3/SAE安全性提升的不只是一点点。还要提一句企业环境里的802.1X认证。它主体上用的也是开放系统认证真正认证靠关联成功后的EAP报文在EAPOLEAP over LAN通道里跑。也就是说企业网的链路层认证也是先放进来再验身份的思路——AP先同意你关联但是802.1X的端口状态没有从Unauthorized变成Authorized之前除了EAPOL报文之外你的所有流量报文都会被AP丢弃。这个关联了但被晾着的状态很多排查企业WiFi问题的人第一次遇到都会懵一下。4. 第三阶段关联Association——正式挂上AP4.1 Association RequestSTA的投名状认证通过之后STA进入State 2接下来就要发Association Request了。这帧是STA正式向AP表达我想到你这个BSS里做一员的请求里面带着好几个关键字段SSID指定要关联到哪个网络。Supported Rates支持速率1、2、5.5、11Mbps这些基础速率以及扩展速率集合里的高速率。Capability Information能力位一大堆标志位比如是否支持短前导、是否支持信道聚合HT、是否支持40MHz带宽、是否支持节能轮询模式等。Listen Interval监听间隔告诉AP我STA在省电模式下会每隔多少个Beacon周期醒来一次监听一下有没有缓存给我的帧。这个值如果太大AP给STA缓存组播帧的时间就要等更久可能出现收不到消息的错觉。HT/VHT/HE Capabilities如果是802.11n/ac/ax的设备还会把自己的高吞吐能力、MCS速率集、空时流数等告诉AP。所以Association Request本质上是一份自我介绍 入网申请。AP收到以后会拿STA的能力和自己配置做对比。比如AP只支持802.11a/b/g而STA声明了vht capabilitiesAP会尝试在响应帧里把自己支持的那部分能力回传过去两边协商出共同的能力集合。4.2 Association ResponseAP点头之后的事AP处理好之后会回Association Response这是决定性的帧核心字段包括状态码和关联ID。状态码Status Code0表示成功其他值是各种失败原因。经常见到的有17资源不足AP上关联数已满、1未指定原因、15四次握手超时——这个其实不是关联阶段来的是握手阶段的错误码。AIDAssociation IDAP分配的一个从1到2007的编号用于在省电模式下唯一标识这个关联站点。AID也在PS-Poll帧里被用来告诉AP我是谁请把缓存的数据给我。Supported Rates / Capability信息AP会把自己期望的能力集合回传类似双方协商后的录取通知书。如果AP不想让这个STA入网也可以故意不给全部速率但从状态机上说不推荐这么干。成功关联后AP会把STA加入自己内部的关联表assoc table记录下MAC地址、AID、协商速率、支持的带宽、射频参数等。对STA来说从这一刻起它就算是这个BSS的正式成员了。不过还是要强调关联成功 ≠ 能上网后面还有加密握手和DHCP等着呢。还有一个容易被忽略的点关联成功之后AP会开始把STA当在线客户端来对待。如果你在企业AC无线控制器上做访客隔离、限速策略、VLAN分配也都是基于关联成功这个时机下发的。我遇到过AP上配置了mac认证的白名单但由于认证顺序配置问题STA关联成功了流量却一直被AC策略拦在外面。真是录取了但进不了宿舍楼。4.3 AID和Listen Interval两个容易被忽略的字段AID和Listen Interval是关联流程里看起来很不起眼、但实际影响很大的两个参数。AID上面说过是AP给STA的编号。它在省电机制里的作用非常大当STA进入Power Save模式AP会把发给它的帧缓存起来并在下一个Beacon的TIMTraffic Indication Map里把对应AID位置1。也就是说Beacon里的TIM是一个位图第N位代表AIDN的STA有没有待取的缓存帧。如果你在抓包时发现某个STA频繁在Power Save和Active之间切换配合TIM位图就能分析出它的休眠规律。AID只有11位最大值2007所以一个BSS理论上最多关联2007个站点这也是为什么很多AP规格书上写的最大关联数是1000多。Listen Interval则是STA在关联请求中声明的一个数量表示它每隔几个Beacon周期醒来一次。AP会拿它来决定缓存组播/广播帧的时长如果STA说我每10个Beacon醒一次AP就得至少缓存组播帧10个Beacon周期否则STA醒来就错过了。实际运营中有些老旧的IoT设备用极端的Listen Interval来省电结果就是设备在线但收不到控制指令排查起来特别像网络故障其实是你AP的组播缓存时长没有兜住这个参数。5. 关联成功之后4次握手与IP获取5.1 WPA2个人版的四次握手拆解关联成功之后如果网络用的是WPA2-Personal接下来就是著名的四次握手4-Way Handshake。这个握手发生在EAPOL层表面上仍然在数据阶段但不经历这四步STA就连数据帧都发不出去。四次握手的参与双方是STA和AP但AP背后其实还跟着一个** Authenticator** 逻辑。整个过程的目标是让双方协商出一个PTKPairwise Transient Key成对临时密钥用来加密STA和AP之间的单播数据流量第一次握手AP向STA发送EAPOL-Key帧里面携带一个随机数ANonce。这个帧本身不加密。第二次握手STA收到ANonce后结合自己生成的SNonce、双方的MAC地址、PMK由PSK派生算出PTK并向AP回复EAPOL-Key帧里面携带SNonce和MIC消息完整性校验值。AP收到后用同样的算法验证MIC确认STA确实拥有正确的PMK。第三次握手AP回复EAPOL-Key帧携带GTK组播临时密钥和如果需要IGTK这些密钥都用PTK加密后发送同时带上新的MIC。STA验证MIC后安装PTK和GTK。第四次握手STA再回一个EAPOL-Key帧告诉AP密钥我已安装完毕。AP收到后也正式安装PTK。前面 4 条帧交换下来STA和AP才真正具备了加密通信的能力。你输错WiFi密码就是在第二次握手的MIC校验时失败AP随后会发Deauthentication帧把STA踢开。我以前用Wireshark看这个流程看到第二次握手后紧跟一个Deauth基本就可以断定是密码错误根本不用问用户。5.2 WPA3和802.1X流程有何不同WPA3-Personal的情况前面已经提到了SAE在认证阶段就完成了密钥协商关联成功之后理论上还需要一个简化的握手过程但WPA3标准里已经有一个过渡设计可以支持WPA2/WPA3混合模式方便旧设备接入。在混合模式下旧设备走WPA2的四次握手新设备走SAEAP必须在Beacon和Probe Response里同时宣告两种能力的RSN IE。这一点在开启WPA3过渡模式的企业AP上很容易踩坑——有时候新手机没问题老笔记本一直连不上多半是WPA3混合模式的兼容性bug。企业场景下802.1X的流程是另外一条路关联成功后STA和认证服务器RADIUS之间通过EAPOL跑EAP-TLS或PEAP等协议通过之后动态生成MSK再由AP用它来派生出PMK最后照样走四次握手。所以企业网里真正决定你能不能被信任的是后台AAA服务器AP只是中间传话的。排查企业网络问题如果发现用户卡在802.1X阶段优先查证书和Radius服务器的日志别在射频上死磕。5.3 DHCP为什么关联了却拿不到IP再往下就是DHCP这也是连上WiFi但没有网最常见的分水岭。关联成功 加密握手通过STA会发DHCP Discover广播去找DHCP Server。这里有个很多新手想不通的点DHCP Discover是广播帧在WiFi这种共享介质上AP收到广播帧后会泛洪到所有关联客户端同时也会转发到有线侧。而STA能否通过DHCP拿到IP取决于AP到DHCP Server之间的二层/三层链路是否通。我排查关联成功但拿不到IP时一定会先抓包确认DHCP Discover到底有没有到达APAP有没有回DHCP Offer。如果Discover发出去了但没有任何回应先查AP的VLAN配置和上行链路这一步最常见的原因是AP被错误划分到了业务VLAN导致DHCP请求广播上不到对应的网关下面。还有一个很典型的场景Portal认证网络。很多访客网络是关联成功 DHCP也成功但所有流量都被AC重定向到认证页面。用户的体验就是WiFi已连接但没有Internet打开浏览器弹出登录页。这不是网络故障而是策略如此但第一次排查的人很容易绕进去。6. 常见问题与排查技巧实录6.1 搜得到连不上这是最让人崩溃的场景之一手机能看到SSID但点连接之后要么一直转圈要么过几秒弹窗说无法加入网络。从这个现象反推问题就出在认证或者关联阶段。先查是不是密码错误最简单的方法是换一台设备试。如果多台设备都连不上优先怀疑AP侧看看AP是否达到了最大关联数AID耗尽会返回状态码17是不是开了MAC过滤但在白名单里没有这个终端是不是AP的加密类型选成了WPA3 Only而终端只支持WPA2这两种模式不兼容非常常见。我调过不少企业AP很多新手机能连、旧电脑不能连的现场最后都指向WPA3 Only这个坑。如果是隐藏SSID还要注意终端主动扫描的机制。有些设备在连接隐藏网络时如果长时间收不到Probe Response会直接判定找不到网络。这种问题建议用广播SSID但不加密这种折中方案来测或者把隐藏功能直接关掉。6.2 卡在获取IP地址手机连上WiFi信号但状态栏一直显示正在获取IP地址或者过一会儿显示已连接但无Internet。这基本是DHCP环节挂了。排查步骤我一般这样走抓包看STA有没有发DHCP Discover。没发说明STA认为链路还不通检查加密握手是否真的完成了。发了Discover但没收到Offer。看AP的上行VLAN和DHCP中继尤其企业AP用DHCP Snooping时可能直接把Discover丢弃了。收到Offer但STA的ACK石沉大海。查DHCP Server地址池有没有耗尽、有没有冲突检测异常。拿到了IP但上不了网。别先怀疑DNS先用IP直连一个内网地址看通不通不通就是路由/网关问题通了再去查DNS解析。我还遇到过一种情况STA关联上一个AP拿到了内网IP但是因为这个AP的Controller下发的ACL策略把它隔离了导致它既Ping不通网关也访问不了任何资源。这种问题只看STA侧抓包根本看不出来一定要爬到AC上看策略匹配日志。6.3 连上后频繁掉线关联成功、也能上网但动不动就断开这种问题在无线运维里最耗精力。常见诱因和排查思路信号弱和干扰2.4GHz频段上外部微波炉、蓝牙设备、邻近AP同频干扰都会导致帧重传率高、丢包大终端自己就切走了。看AP的RRM日志信道利用率如果长期超过60%就得调信道规划和功率。漫游切换失败多AP组网时STA在移动中触发漫游但新AP认证失败或者AC没有把STA的旧会话正确迁移导致掉线。这种问题要抓空中的Reassociation Request/Response帧看状态码。省电机制问题有些终端为了省电设置了很极端的Listen Interval导致AP侧缓存组播超时应用层的keepalive包丢失连接看起来就像断了。检查终端驱动和AP的组播优化设置。AP的射频芯片过热或固件bug我可以明确说某些早期型号的AP在高温环境下射频部分会周期性重启表现就是连得好好的整个SSID突然消失几秒又回来。查NMS告警日志能看到Radio模块的复位记录。另外被很多人忽略的是信道切换CSA机制也会导致短暂的全局掉线。如果AP检测到雷达需要切换到DFS信道会广播Channel Switch Announcement这时候整个BSS的所有STA都会跟着切信道快的终端几乎无感慢的终端可能断个几秒。部署5G网络绕不开DFS信道但你在关键业务区域尽量别把主信道配到DFS上能省掉很多投诉。6.4 排查速查表我自己整理了一个快速定位表每次排无线问题就对着它过一遍排查效率提升很明显。现象最可能的技术原因优先排查项搜不到SSIDAP Radio off、Beacon被关闭、DFS等待AP状态、Radio配置、信道配置搜得到但连接超时WPA版本不匹配、MAC过滤、关联数满客户端兼容性、AP白名单、BSS负载提示密码错误但密码确认无误WPA2四次握手MIC失败、PMK不一致是否新旧加密方式混用、AC是否下发过“修改密码”策略卡在获取IP地址DHCP问题、VLAN隔离、ACLDHCP Server状态、AP上行VLAN、AC策略已连接但无Internet网关/路由问题、Portal认证拦截、DNS配置网关连通性、是否被重定向、DNS解析测试频繁掉线干扰、漫游失败、省电参数信道利用率、漫游切换日志、STA省电能力个别终端连不上终端协议兼容性、驱动bug换一台终端对比、查AP兼容性列表、升级终端驱动6.5 一个容易被战术后仰的问题关联后的AP负载不均企业里多AP覆盖同一个区域时STA会自动选择信号最好的AP但信号好不代表性能最优。可能AP1已经挂了60个终端AP2只有5个但新接入的终端仍然会因为RSSI稍高而选择AP1造成过载。802.11协议里的BSS Load元素在Beacon和Probe Response里携带就是为了应对这个问题的里面包含STA计数、信道利用率等。AC可以据此做负载均衡强行引导新终端关联到负载低的AP。实际情况是很多老终端并不支持802.11v的BSS Transition Management也不支持802.11k的邻居报告AP想劝都劝不动。遇到这种场景我能做的就是调低过载AP的发射功率缩小它的覆盖范围同时在AC侧开启负载均衡策略让新关联尽量分流到空闲AP。做无线优化从来都是软硬兼施。7. 实操心得抓一次真实的Association给你看7.1 抓包环境怎么搭纸上谈兵说再多不如自己抓一次包。抓802.11管理帧有两种常用方式一是用支持monitor模式的无线网卡配合Wireshark二是直接在普通AP上用调试接口抓空口帧。第二种在商业AP上指令各不一样想通用一些还是推荐第一种。实现的时候把无线网卡切到monitor模式然后用airodump-ng或者Wireshark的monitor接口抓注意把信道调到你要抓的那个信道上。终端侧建议用手机连这个SSID这样抓到的就是真实的连接过程。我实际抓过几次发现最理想的状态是把抓包网卡放在AP附近不要离终端太远否则管理帧本身是低速率发送的1Mbps或6Mbps反而容易漏帧。7.2 抓到的帧怎么看抓完之后在Wireshark里用过滤器wlan.fc.type_subtype 0x08看Beacon用wlan.fc.type_subtype 0x04看Probe Request。等你看到如下序列就说明关联流程完整走通了Authentication Request (open) Authentication Response (success) Association Request Association Response (success) EAPOL-Key / 4-Way Handshake DHCP Discover / Offer / Request / ACK这里有个小技巧Wireshark把管理帧的type_subtype翻译成人话之后你最好再展开帧体里的固定参数看看Supported Rates和Capability信息到底协商出了什么。比如两家AP同样标称802.11ac实际上速率协商结果可能差很大这决定了你实际跑出来的带宽是867Mbps还是433Mbps。7.3 给新人的几条经验最后说几条我这几年踩坑踩出来的经验不算文档里会写的东西但很管用第一排查问题先分阶段再谈对策。连不上、卡IP、掉线这三类问题定位路径完全不同别一上来就改AP信道。第二管理帧的默认发送速率非常低不代表你的链路质量好。Beacon和Probe Response能收到只能说明控制面通了数据面通不通要靠Ping大包测试。第三看抓包日志要养成看时间线的习惯。一次连接过程从Probe到DHCP完成正常应该在几百毫秒到一两秒的量级。如果每一步之间都隔着明显的时间空隙那一定是有重传或者等待超时的帧在作怪。第四纸上谈兵的标准流程和真实环境是有差距的。真实环境里STA可能会在认证成功前就提前发关联请求因为驱动的实现不规范也可能会在关联响应前就尝试发EAPOL帧。遇到这种乱序不要慌重点看AP最终有没有返回成功以及后续的数据帧是否正常。我自己实际工作中还有一个习惯把常见的失败帧序列截图存档。比如认证拒绝、关联返回状态码17、四次握手直接失败每种都存一张遇到新问题时先跟存过的对照一遍经常能快速定位。无线网络排障这门手艺说到底就是熟能生巧——多抓几万帧很多玄学就都是规律了。
返回列表