流量分析 --- 802.11
我们把复杂的802.11帧想象成在一个繁忙的Wi-Fi社区(你的无线网络)里传递的各种小纸条或信号灯。它们主要分为三大类,各有不同的职责:
第一大类:管理帧 - 社区公告与住户登记处
-
作用: 建立、维护和拆除无线设备(STA,如手机、电脑)与接入点(AP,如路由器)之间的“连接关系”。就像社区的公告栏、住户登记和告别仪式。
-
通俗解释与常见类型:
-
信标帧: AP 定期发送的“社区广播”。
-
作用: 大喊:“这里是
[你家Wi-Fi名字]小区!开门时间是[支持的速率],安保措施是[WPA2/WPA3],下次广播在[信标间隔]秒后!” 帮助设备发现网络、了解小区规则。
-
-
探测请求帧: 设备(STA)发出的“寻人启事”。
-
作用: 设备喊:“
[你家Wi-Fi名字]小区在吗?或者,附近有哪些小区开放啊?”(可以指定找某个小区,也可以找所有小区)。
-
-
探测响应帧: AP 对探测请求的回应。
-
作用: AP 回应:“在的在的!我就是
[你家Wi-Fi名字]小区,规则是[SSID, 速率, 安全信息],和我的广播(信标帧)说的一样!”
-
-
认证帧: 设备的“身份初验”。
-
作用: 设备走到小区门口说:“你好,我知道大门密码
[共享密钥或开放网络],我想进来看看。” 在开放网络或老式WEP中,这一步就决定能否连接。在WPA/WPA2/WPA3中,这只是个形式,真正的安全验证在四次握手(属于管理帧的后续动作)。
-
-
关联请求帧: 设备的“正式入住申请”。
-
作用: 设备在初步确认小区存在后,提交详细申请:“我是
[我的MAC地址],我想正式加入[你家Wi-Fi名字]小区,这是我的能力清单[支持的速率、QoS等]。”
-
-
关联响应帧: AP 对关联请求的“批准函”。
-
作用: AP 审核后回复:“批准入住
[关联ID]!你的门牌号(关联ID)是[AID],小区规则请遵守[支持的速率等]。” 标志着设备正式加入网络。
-
-
重关联请求帧: 设备在小区内“搬家申请”。
-
作用: 设备在同一个小区里(比如从一个路由器走到另一个路由器覆盖范围),向新的AP申请:“我之前在
[老AP地址]那栋楼住[门牌号AID],现在想搬到你这栋楼住。”
-
-
重关联响应帧: 新AP的“搬家批准”。
-
作用: 新AP回复:“搬家批准!你的新门牌号
[新AID]是[值],小区规则不变。” 让设备在移动中保持连接。
-
-
解除关联帧: 设备或AP的“礼貌告别”。
-
作用: AP 或 STA 说:“我要断开连接了
[原因码]。” 通知对方结束关系,释放资源。设备主动断开或AP主动踢掉设备时使用。
-
-
解除认证帧: 更强硬的“驱逐令”。
-
作用: AP 或 STA 说:“身份验证失效!连接立即终止
[原因码]!” 用于强制终止所有关联关系,通常发生在严重错误或安全事件后。
-
-
第二大类:控制帧 - 空中交通管制员
-
作用: 协调无线信道这个“共享马路”的使用权,确保数据帧这个“货车”能有序、可靠地“运送货物”。就像路口的红绿灯、交警手势和收据确认。
-
通俗解释与常见类型:
-
请求发送帧: “交警举手示意:我要发车了!”
-
作用: 设备(STA或AP)想发送一个可能比较长的数据帧前,先发个RTS通知邻居:“我申请占用这条马路
[预计占用时间]秒,请让让!” 主要用于避免隐藏节点问题。
-
-
允许发送帧: “交警绿灯放行:你可以发车了!”
-
作用: 接收方收到RTS后,如果同意,就发CTS回应:“
[发送方],我允许你发车,占用时间[批准的时间]秒!其他人[包括可能没听到RTS的邻居]请避让!” 确认信道可用并通知所有邻居。
-
-
确认帧: “收货人签收:货收到了!”
-
作用: 接收方成功收到一个需要确认的数据帧(或管理帧)后,立刻发一个极短的ACK给发送方:“
[你的帧]我完好无损地收到了!” 这是保证可靠传输的关键。 如果发送方没收到ACK,它会认为帧丢了,需要重发。
-
-
节能轮询帧: 睡觉设备的“闹钟提醒”。
-
作用: 为了省电而休眠的设备(STA)醒来后,发PS-Poll给AP:“我醒了!AP你有缓存给我的数据包吗?快发给我吧!”
-
-
免竞争结束帧: 特殊时期的“解除管制”。
-
作用: AP在一种特殊的、AP集中控制信道访问的时期(PCF)结束时,发CF-End宣布:“集中管制结束,大家恢复自由抢道(DCF)吧!”
-
-
块确认请求/响应帧: “批量签收单”。
-
作用: 为了提高效率,发送方发送一批数据帧后,发一个BAR请求:“请确认这一批
[帧序号列表]是否都收到了?” 接收方回一个BA响应:“这批里[序号X, Y, Z]收到了,[序号A, B]没收到。” 避免每个帧都等一个ACK,提升速度。
-
-
第三大类:数据帧 - 运货的卡车
-
作用: 在已经建立好连接(关联)的设备之间,实际运送用户的数据(比如网页、视频流、文件、游戏数据包)。它们是Wi-Fi存在的终极目的。
-
通俗解释与关键点:
-
核心任务: 把“货物”(IP包、ARP请求等上层网络数据)从一个设备运到另一个设备。
-
地址: 像卡车有发货人、收货人一样,数据帧有复杂的MAC地址字段(源地址、目的地址、接收地址、发送地址),用于在复杂的网络环境(直接通信、通过AP中转等)中正确路由。
-
加密: 如果网络启用了安全(WPA2/WPA3),数据帧的“货物”(载荷)会被加密(用PTK或GTK),只有指定的收货人能解开看懂。帧头本身不加密。
-
服务质量: 有些数据帧会打上
[QoS标签](如视频通话、在线游戏),表示它们是“加急快递”。AP和设备会根据这些标签优先处理它们,减少延迟和卡顿。 -
类型: 主要根据“卡车”的路线分类:
-
Data: 最普通的“运货车”,运用户数据。
-
Null: 一个特殊的“空车”。设备省电休眠时,可能会发一个Null帧告诉AP:“我还在线,但要去睡觉了,有货先帮我存着
[设置节能标志]”。或者用来维持连接心跳。 -
QoS Data: 带有加急标签的运货车。
-
其他子类型: 一些更特殊的变种,如用于数据+CF-ACK(同时捎带一个ACK签收)等。
-
-
总结一下这个Wi-Fi社区
-
管理帧: 处理“住户关系”。广播小区信息、发现小区、申请/批准入住、搬家、告别/驱逐。 (
信标、探测、关联/认证、解除) -
控制帧: 管理“空中马路”。申请路权、批准通行、确认收货成功、省电协调、批量签收。 (
RTS/CTS, ACK, PS-Poll, Block ACK) -
数据帧: 真正运送“货物”(用户数据)。是连接建立后的主要工作。根据地址发送,可能加密,可能有加急标签。 (
Data, QoS Data, Null)
这三类小纸条(帧)协同工作,才使得你家里的手机、电脑、智能设备能够顺畅地发现Wi-Fi、安全地连上、高效可靠地传输数据,让你愉快地上网冲浪。
以下是 802.11 无线协议中所有帧类型的完整分类清单,按 管理帧(Management)、控制帧(Control)、数据帧(Data) 三大类组织,并标注子类型和核心作用:
一、管理帧(Management Frames)
作用:管理网络连接(如加入/离开网络、广播网络信息、安全认证等)。
| 子类型值(二进制) | 子类型名称 | 通俗作用 |
|---|---|---|
0000 |
关联请求 (Association Request) | 设备申请加入网络:"我想连这个Wi-Fi!这是我的能力(支持的速率等)。" |
0001 |
关联响应 (Association Response) | AP回复设备:"批准/拒绝加入。分配门牌号(关联ID AID)!" |
0010 |
重关联请求 (Reassociation Request) | 设备切换AP(如漫游):"我要从原AP搬到新AP,旧门牌号是XXX。" |
0011 |
重关联响应 (Reassociation Response) | 新AP回复:"搬家批准!新门牌号(AID)是YYY。" |
0100 |
探测请求 (Probe Request) | 设备主动搜索网络:"附近有哪些Wi-Fi?/ '某SSID' 在吗?" |
0101 |
探测响应 (Probe Response) | AP回复探测请求:"我在!网络名是SSID,支持速率XX,加密方式YY。" |
1000 |
信标帧 (Beacon) | AP周期性广播:"我是网络 'SSID'!加密方式WPA3,下次广播在Z秒后。"(核心广播) |
1001 |
解除认证 (Deauthentication) | 强制终止认证关系:"安全验证失效!立即断开所有连接!"(如踢设备、攻击帧) |
1010 |
认证 (Authentication) | 旧版身份验证(WEP用),WPA后变为形式流程:"我是合法设备,请求认证。" |
1011 |
解除关联 (Disassociation) | 礼貌断开连接:"我要离开网络了,资源可释放。"(正常断开或AP资源回收) |
1100 |
行动帧 (Action) | 多功能操作容器(如频谱管理、 QoS、 Mesh组网等扩展功能) |
1101 |
行动帧无响应 (Action No Ack) | 无需确认的行动帧(如快速广播控制指令) |
二、控制帧(Control Frames)
作用:协调无线信道访问,确保数据可靠传输(如预约信道、确认接收)。
| 子类型值(二进制) | 子类型名称 | 通俗作用 |
|---|---|---|
1001 |
请求发送 (RTS, Request to Send) | 申请信道使用权:"我要发数据了,预留XX微秒,请避让!"(防冲突) |
1100 |
允许发送 (CTS, Clear to Send) | 响应RTS:"同意发数据!邻居们请静默XX微秒。" |
1101 |
确认 (ACK, Acknowledgment) | 确认收到数据:"你的包我收到了!"(保证可靠传输) |
1010 |
节能轮询 (PS-Poll, Power Save Poll) | 休眠设备唤醒后问AP:"有缓存数据给我吗?" |
1011 |
块确认请求 (Block Ack Request) | 请求批量确认:"请确认序号1-10的数据包是否收到?" |
1000 |
块确认 (Block Ack) | 回复批量请求:"1/3/5/7号包收到,2/4号丢失。" |
1110 |
免竞争结束 (CF-End) | 宣布集中控制模式结束:"自由竞争信道恢复!" |
1111 |
免竞争结束+确认 (CF-End+CF-Ack) | 结束集中控制模式并捎带确认 |
三、数据帧(Data Frames)
作用:传输用户实际数据(如网页、视频流),或承载管理信息(如认证报文)。
| 子类型值(二进制) | 子类型名称 | 通俗作用 |
|---|---|---|
0000 |
普通数据 (Data) | 传输用户数据(IP包、ARP等),支持加密(PTK/GTK) |
0001 |
空数据 (Null Data) | 无载荷的帧,用于维持连接(如休眠设备通知AP:"我还在线,但睡了") |
0010 |
QoS数据 (QoS Data) | 带优先级标签的数据(如视频通话优先传输) |
0011 |
QoS空数据 (QoS Null) | 带优先级的空帧(用于QoS设备休眠状态维持) |
0100-1111 |
其他QoS子类型 | 扩展QoS控制(如带确认/轮询的QoS数据) |
关键补充说明
-
帧结构通用字段:
-
Frame Control:帧类型(2位) + 子类型(4位) + 安全位(
Protected Flag)。 -
Duration/ID:预约信道占用时间(控制帧)或节能模式ID(管理帧)。
-
MAC地址:最多4个地址(源/目的/接收/发送),用于复杂中继场景。
-
Sequence Control:防重复包(序号+分段号)。
-
-
安全与加密:
-
Protected Flag=1表示帧体被加密(WPA2/WPA3的CCMP/GCMP)。 -
管理帧(如认证帧)可能被加密(WPA3增强安全)。
-
-
特殊帧:
-
认证帧:WPA3中由 SAE(Simultaneous Authentication of Equals) 替代传统四次握手。
-
行动帧:承载大量扩展功能(如802.11k/v/r漫游优化、802.11ax触发帧等)。
-
总结全景图
| 帧大类 | 核心角色 | 典型帧举例 | 是否加密 |
|---|---|---|---|
| 管理帧 | 网络连接管家 | 信标帧、关联请求、解除认证 | 部分帧在WPA3可加密 |
| 控制帧 | 信道协调交警 | RTS/CTS、ACK、块确认 | 永不加密 |
| 数据帧 | 数据运输卡车 | QoS数据、空帧、加密用户数据 | 通过Protected Flag控制 |
掌握此清单可快速定位帧功能(如抓包分析时过滤wlan.fc.type == 0查看管理帧),是分析Wi-Fi连接、安全、性能问题的基石。
我们把Wi-Fi连接过程想象成一个安全的小区入住流程,你的Wi-Fi密码就是小区的门禁卡密码。整个过程是这样的:
-
发现小区(扫描SSID):
-
你的手机(STA)打开Wi-Fi,会搜索周围有哪些小区(Wi-Fi网络/SSID)。
-
它发现了你家的“幸福小区”(你的Wi-Fi名称/SSID)。
-
-
申请入住(关联请求):
-
手机走到小区门口(连接到AP的信号范围),对门卫系统(AP)说:“我想住进幸福小区!”
-
AP回应:“好的,欢迎申请。但我们小区很安全,需要验证身份。”
-
-
证明你知道门禁密码 - 四次握手(核心认证):
-
这不是直接告诉密码! 整个认证过程的关键在于:双方需要证明自己知道那个秘密的Wi-Fi密码(门禁卡密码),但谁都不会在对话中直接说出这个密码! 这就像你和门卫各自知道一个只有你们知道的秘密暗号,通过验证暗号是否正确来确认身份。
-
第一次握手(门卫的挑战):
-
门卫(AP)对你说:“我知道门禁密码是‘芝麻开门’。为了验证你,我给你一个随机数A(ANonce)。你用‘芝麻开门’和这个随机数A,再加上你自己生成的一个随机数S(SNonce),按特定的数学公式算出一个结果(PTK的一部分),然后告诉我你的随机数S和你算出的MIC(一个防伪签名,类似用密码和对话内容生成的‘指纹’)给我看看。”
-
AP把随机数A(ANonce)发给手机。
-
-
第二次握手(你的回应):
-
你的手机(STA)心想:“‘芝麻开门’?我知道这个密码!”
-
手机自己生成一个随机数S(SNonce)。
-
手机结合Wi-Fi密码(‘芝麻开门’)、收到的随机数A(ANonce)、自己生成的随机数S(SNonce),通过复杂的数学计算,生成:
-
成对临时密钥(PTK): 这是后续你和门卫之间点对点私聊用的加密钥匙。
-
MIC1(消息完整性校验码): 这个“指纹”是用刚刚算出来的PTK的一部分(KCK)和整个第一次握手消息内容生成的。只有知道正确密码(‘芝麻开门’)才能生成正确的MIC1。
-
-
手机把随机数S(SNonce)和MIC1发给门卫(AP)。
-
-
第三次握手(门卫确认并给公共钥匙):
-
门卫(AP)收到你的随机数S(SNonce)和MIC1。
-
门卫自己也用相同的Wi-Fi密码(‘芝麻开门’)、自己发的随机数A(ANonce)、收到的随机数S(SNonce),进行同样的数学计算,生成它自己版本的PTK和MIC1。
-
关键验证: 门卫把自己计算出的MIC1和你发来的MIC1进行对比。
-
如果一样: 证明你的手机也知道正确的“芝麻开门”密码!门卫确认你是合法住户。
-
如果不一样: 认证失败,拒绝连接。
-
-
门卫确认成功后:
-
它发送第三次握手消息给手机,包含:
-
安装命令: “好了!现在立刻启用我们刚刚协商好的那把PTK钥匙。以后我们俩之间点对点的悄悄话(单播数据)都用这把钥匙加密!” -
安全启用: “小区安全系统正式生效!” -
加密的公共钥匙(GTK): 门卫把开小区公告栏(广播/组播通信)的钥匙(GTK),用刚刚协商好的PTK钥匙加密后,交给你。公告栏钥匙(GTK)是所有住户共享的,用于查看小区通知、物业广播等。因为是用你的专属钥匙(PTK)加密的,只有你能解开拿到它。
-
门卫自己也会生成一个MIC2(用PTK的一部分和消息内容),让手机验证消息确实来自真门卫。
-
-
-
-
第四次握手(你的最终确认):
-
手机收到第三次握手消息:
-
验证门卫的MIC2是否正确(确认不是骗子冒充门卫)。
-
用PTK解密拿到公告栏钥匙(GTK)。
-
-
手机发送最后一次握手消息给门卫,相当于说:“收到!专属钥匙(PTK)已启用,公告栏钥匙(GTK)也拿到了。安全连接搞定!”
-
门卫收到这条确认,整个握手完成。
-
-
-
安全入住(数据传输):
-
从此以后:
-
你(手机)和门卫(AP)之间的私人对话(单播流量),都用专属的PTK钥匙加密解密,外人听不懂。
-
门卫(AP)贴在公告栏(广播/组播流量) 上的通知(比如ARP请求、组播视频流),都用GTK钥匙加密。所有知道当前GTK的合法住户(连接在这个Wi-Fi上的设备)都能看懂公告栏内容。GTK会定期更换,就像公告栏锁定期换新钥匙一样,增强安全。
-
-
为什么说Wi-Fi密码(PSK)是核心?
-
信任基础: AP和所有想连接的设备都必须预先知道这个相同的密码。它是建立信任的基石。
-
间接验证: 整个四次握手过程中,密码本身从未在空气中直接传输! 双方通过交换随机数、计算并验证MIC(这个计算过程依赖于密码)来证明自己知道密码。这极大地防止了密码被窃听。
-
密钥来源: 密码(PSK)是生成实际用于加密数据的临时密钥(PTK和GTK) 的“种子”和原材料。没有正确的密码,就无法生成正确的PTK和GTK,MIC验证也会失败。
总结成一句话:
Wi-Fi认证(使用密码)就是你的设备和路由器通过一系列精心设计的“暗号挑战”(四次握手),在不直接说出密码的前提下,互相证明彼此都知道同一个Wi-Fi密码。一旦验证成功,双方就用这个密码作为“种子”,生长出两把临时钥匙:一把用于你们俩的私密通话(PTK),另一把用于听小区的公共广播(GTK)。从此,你的网络通信就安全了。
我们来用通俗易懂的方式解释一下 WPA2/WPA3 握手消息 3 中的 GTK 和整个握手过程基础的 PSK:
-
PSK (Pre-Shared Key - 预共享密钥):
-
通俗解释:这就是你设置的 Wi-Fi 密码。
-
作用: 它是整个安全连接建立的基础和信任源头。无论是 AP (路由器) 还是 STA (你的手机、电脑),都需要知道这个相同的密码。
-
过程: 在四次握手开始之前,AP 和 STA 都已经知道了这个 PSK。它们不是直接用这个密码加密数据,而是用它作为“种子”,结合握手过程中交换的随机数 (ANonce, SNonce),通过复杂的数学计算,最终生成用于实际加密数据的临时密钥 (PTK 和 GTK)。
-
关键点:
-
它是一个长期存在的、共享的秘密。
-
它不直接用于加密你的网络流量。
-
它是用来派生出真正加密密钥 (PTK, GTK) 的“原材料”和信任依据。
-
所有连接同一个 Wi-Fi 网络(使用同一个 SSID 和 PSK)的设备都知道这个相同的 PSK。
-
-
-
GTK (Group Temporal Key - 组临时密钥):
-
通俗解释:这是路由器用来加密发送给所有连接设备看的广播/组播信息的“公共频道密码”。
-
作用: 当路由器(AP)需要发送一条消息给网络里的所有设备(比如,通知有新设备加入、发送广播包、组播视频流等)时,它就用这个 GTK 来加密这条消息。所有连接在这个 Wi-Fi 网络上的合法设备(手机、电脑、智能电视等)都知道这个 GTK,所以它们都能解密并读懂这条广播消息。
-
分发: 在消息 3 中,AP 将加密后的 GTK 发送给当前正在连接的这个特定客户端 (STA)。这个 GTK 是用刚刚协商好的、只有这个 AP 和这个 STA 知道的PTK 中的一部分 (KEK) 加密的,确保只有拥有正确 PSK 的这个 STA 才能解密拿到 GTK。
-
关键点:
-
它是一个临时的密钥,会定期或在有设备离开网络时更新,以增强安全性(Key ID 用于标识不同版本的 GTK)。
-
它是用于广播和组播流量(发给一组或多组设备)的加密。
-
同一个 Wi-Fi 网络里的所有合法设备,在连接完成后,都拥有相同的当前 GTK。 这样它们才能听懂路由器对大家说的话。
-
每个设备在连接过程中,都会收到这个当前的 GTK(用它们各自协商的 PTK 加密后发送给它们)。
-
它与 PTK 不同:PTK 是用于 AP 和单个 STA 之间的单播通信(点对点私聊)加密。
-
-
总结比喻:
-
PSK (Wi-Fi 密码): 就像你家小区的大门门禁密码。所有住户(合法设备)都知道这个密码才能进入小区(连接到 Wi-Fi 网络)。但这个密码不是用来开你家房门的。
-
四次握手: 就像你(STA)进入小区后,走到你家单元楼下,和门禁系统(AP)进行的一次安全对话。对话的目的是协商出两把新钥匙:
-
PTK: 协商出开你家房门的专属钥匙(用于你和路由器之间的点对点加密)。
-
GTK: 协商出开单元楼公共信箱的钥匙(用于路由器发给整栋楼住户的广播信息加密)。
-
-
消息 3 (你分析的帧):
-
Install标志: 门禁系统说:“好了,你现在可以用我刚刚告诉你的那把专属钥匙(PTK)开你家房门了,以后我们俩私下说话就用这把钥匙加密!” -
Secure标志: 门禁系统宣布:“安全系统现在正式启用!” -
分发加密的 GTK: 门禁系统把公共信箱的钥匙 (GTK),用你俩刚刚协商好的专属钥匙 (PTK) 加密后,交给你。并告诉你:“这是开公共信箱的钥匙,楼里所有住户都有这把钥匙,以后广播通知都放在这个信箱里,用这把钥匙开。” 因为是用你的专属钥匙加密的,只有你能解开拿到公共信箱钥匙。
-
Key MIC: 门禁系统在这条消息上盖了个防伪印章(MIC),你收到后要检查这个印章对不对,以确认消息确实来自真正的门禁系统,而不是骗子。
-
所以,消息 3 的核心作用就是:
-
命令客户端 (STA) 立即启用用于点对点加密的 PTK (
Install标志)。 -
宣告安全会话正式生效 (
Secure标志)。 -
安全地分发用于广播/组播加密的 GTK(用刚建立的 PTK 加密),让客户端能听懂路由器对“大家”说的话。
理解 PSK 是基础密码,GTK 是用于广播通信的临时共享密钥,以及它们在四次握手(特别是消息 3)中的角色,是理解 WPA2/WPA3 安全性的关键。
802.11 无线帧的四次认证握手包(WPA/WPA2 的四次握手)

这个帧是 WPA2/WPA3 四次握手(4-Way Handshake)的第一个消息,由接入点(AP)发送给客户端(STA),用于启动建立加密会话密钥的过程。
第一部分: IEEE 802.11 QoS 数据头
这部分定义了帧在无线媒介上传输时的基本属性。
-
Frame 9667: 在 Wireshark 捕获文件中的帧编号。
-
Type/Subtype: QoS Data (类型/子类型:QoS 数据)
-
这表明它是一个数据类型的帧(Type=2),并且支持服务质量(Subtype=8)。QoS 允许网络根据流量的重要性(如语音、视频或控制消息)为其分配不同的优先级。
-
-
Flags (标志位)
-
DS status: Frame from DS to a STA (分布式系统状态:帧从 AP 到客户端): From DS 标志位为1,To DS 标志位为0,这明确表示帧的传输方向是从接入点(AP)到无线客户端(STA)。
-
Protected Flag: Data is not protected (保护标志:数据未受保护): 此标志位为0,意味着帧的载荷(Payload)部分没有加密。这在密钥建立完成之前是正常情况。
-
-
Duration (持续时间): 314 microseconds: 一个时间值,用于告知其他设备此帧将占用无线信道多长时间,以避免冲突。
-
Receiver address (接收方地址): vivoMobileCo_7f:88:a3: 接收此 802.11 帧的设备的 MAC 地址,即 vivo 手机的无线网卡地址。
-
Transmitter address (发送方地址): Huaweichno_cc:b8:f3: 发送此 802.11 帧的设备的 MAC 地址,即华为接入点(AP)的 MAC 地址。
-
Destination address (目的地址): vivoMobileCo_7f:88:a3: 帧的最终逻辑目的地,对于从 AP 发往客户端的帧,此地址与接收方地址相同。
-
BSS ID (基本服务集 ID): Huaweichno_cc:b8:f3: 当前无线网络的唯一标识符,通常就是 AP 的 MAC 地址。
-
QoS Control (服务质量控制字段)
-
Priority: Network Control (Voice) (7) (优先级:网络控制): 优先级设置为7,这是最高优先级,通常保留给最关键的流量,如网络控制消息和VoIP语音。这表明四次握手消息被认为是非常重要的。
-
第二部分: Logical-Link Control (LLC - 逻辑链路控制)
LLC 头位于 802.11 头之后,用于标识上层封装的协议类型。
-
DSAP / SSAP: SNAP (0xaa): 目标和源服务访问点都设置为 0xaa,表示这是一个子网接入协议(SNAP)格式的帧。
-
Control field: U, func=UI (0x03): 表示这是一个无连接、不可靠的数据传输帧(Unnumbered Information)。
-
Organization Code (组织代码): 00:00:00: 在 SNAP 头中,这个 OUI(组织唯一标识符)表示后面的 "Type" 字段是一个标准的以太网类型(EtherType)。
-
Type: 802.1X Authentication (0x888e) (类型:802.1X 认证): 这个 EtherType 值 0x888e 是专门为 802.1X 认证协议保留的,表明这个帧的载荷是 EAPOL(Extensible Authentication Protocol over LAN)消息。
第三部分: 802.1X Authentication (802.1X 认证)
这是帧的核心部分,包含了四次握手的具体信息。
-
Version: 802.1X-2004 (2): 表明使用的 802.1X 标准版本。
-
Type: Key (3) (类型:密钥): 表明这是一个 EAPOL-Key 帧,专门用于密钥的分发和协商。
-
Key Descriptor Type: EAPOL RSN Key (2) (密钥描述符类型): 表明该密钥用于 RSN(Robust Security Network),即 WPA2 或 WPA3 网络。
-
Key Information (密钥信息): 这是一个包含多个子标志的关键字段:
-
Key Descriptor Version: AES Cipher, HMAC-SHA1 MIC (2): 极其重要,它定义了本次会话将使用的加密套件。AES Cipher 表示数据将使用 AES 算法进行加密,HMAC-SHA1 MIC 表示消息完整性码将使用 HMAC-SHA1 算法生成。这是 WPA2-Personal (PSK) 的标准配置。
-
Key Type: Pairwise Key (密钥类型:成对密钥): 表明此帧用于建立客户端和 AP 之间独有的加密密钥(PTK),而不是所有设备共享的组密钥(GTK)。
-
Key ACK: Set (请求确认): 此位置1,表示发送方(AP)要求接收方(客户端)必须回应此消息。
-
-
Replay Counter (重放计数器): 1: 一个序列号,用于防止攻击者截获并重放旧的握手消息。这是 AP 在此会话中发送的第一个 EAPOL-Key 帧,所以计数器为1。
-
WPA Key Nonce (WPA 密钥随机数): 这是一个由认证方(AP)生成的长随机数,称为 ANonce。它将与客户端生成的另一个随机数(SNonce)共同作为输入,用于生成唯一的会话密钥(PTK)。
-
WPA Key MIC (WPA 密钥消息完整性码): 000000...: 在四次握手的第一步中,此字段被填充为零。客户端在收到此帧后,会使用预共享密钥(PSK)和两个 Nonce 计算出 MIC,并在握手的第二步中将其发回给 AP,以证明自己拥有正确的密码。
-
WPA Key Data Length: 0: 此消息中没有附带额外的密钥数据。
总结
综合来看,这个帧是 从一个华为 AP 发往一台 vivo 手机的 WPA2 四次握手消息 1。AP 通过此帧发起密钥协商,并向客户端提供了后续计算所需的一个关键参数(ANonce)和将要使用的加密算法信息。

如果说第一个帧是 AP(接入点)发起的“挑战”,那么这个帧就是客户端(手机)给出的“回应”。
这是 WPA2/WPA3 四次握手的第二个消息 (Message 2),由客户端(STA)发送给接入点(AP)。
主要区别分析
| 特征 | 第一个帧 (Message 1) | 这个帧 (Message 2) | 区别的意义 |
| 传输方向 | AP -> 客户端 | 客户端 -> AP | 这是客户端对第一个消息的响应。 |
| 源/发送方地址 | 华为 AP (Huaweichno_cc:b8:f3) | vivo 手机 (vivoMobileCo_7f:88:a3) | 发送方和接收方角色互换。 |
| 目的/接收方地址 | vivo 手机 (vivoMobileCo_7f:88:a3) | 华为 AP (Huaweichno_cc:b8:f3) | 发送方和接收方角色互换。 |
| 消息编号 | 消息编号:1 | 消息编号:2 | 明确表明这是四次握手的第二步。 |
| Key MIC 标志位 | 主麦克风:未设置 | 主麦克风:设置 | 标志位为1,表示本帧中的 MIC 字段是有效的。 |
| WPA Key Nonce | AP 生成的随机数 (ANonce) | 客户端生成的随机数 (SNonce) | 这是客户端贡献的随机数,将与 ANonce 一起用于生成会话密钥。 |
| WPA Key MIC | 全为零 (000000...) | 已计算的有效值 (4b81b...) | 这是最关键的区别。客户端使用 PSK(预共享密钥)、ANonce 和 SNonce 计算出 MIC,证明自己拥有正确的网络密码。 |
| WPA 密钥数据 | 长度为 0 | 长度为 22 | 客户端在此字段中包含了它自己的 RSN(健壮安全网络)信息元素,向 AP 确认双方的安全能力匹配。 |
| 重放计数器 | 1 (或重传时为 2) | 2 | 客户端回应的是 AP 发来的 回放计数器 为 2 的消息。 |
总结
这个帧与第一个帧的核心区别在于 角色的转变和认证的实现:
-
方向相反: 这是 客户端发往 AP 的帧,而第一个帧是 AP 发往客户端的。
-
生成 SNonce: 客户端生成了自己的随机数(SNonce),这是生成最终会话密钥(PTK)的第二个关键输入。
-
计算并验证 MIC: 这是整个握手过程的第一次验证。客户端通过计算出一个正确的 MIC(消息完整性码),向 AP 证明了它持有正确的预共享密钥(即 Wi-Fi 密码)。如果这个 MIC 错误,AP 会拒绝连接。
简单来说,第一个帧是 AP 在说:“你好,我们用这个加密方式,这是我的随机数 ANonce,请证明你知道密码。”
而这个帧(第二个帧)是客户端在回应:“收到,这是我的随机数 SNonce,并且这是我用密码、你的 ANonce 和我的 SNonce 计算出的凭证 MIC,请查验。”
RSN 信息元素(RSN 信息元素,RSNIE)。
这个 RSNIE 是客户端(STA)用来向接入点(AP)宣告并确认其安全能力和本次连接所要使用的安全参数。我们来逐个分析。
RSN 信息元素 (RSN Information) 详细解析
-
标签编号:RSN 信息(48)
-
48 是在 802.11 标准中分配给 RSNIE 的唯一标识号。
-
-
标签长度:20
-
表示这个 RSNIE 字段的总长度是 20 字节。
-
-
RSN 版本:1
-
表示遵循 802.11i 标准定义的 RSN 协议版本。
-
-
Group Cipher Suite (组播/广播密码套件)
-
OUI: 00:0f:ac (Ieee 802.11): IEEE 802.11 定义的标准套件。
-
Type: AES (CCM) (4): 定义了用于组播和广播帧(如 ARP 请求)的加密算法。这里指定使用 AES-CCM 算法。这在 WPA2 和 WPA3 中是强制要求的。
-
-
Pairwise Cipher Suite (单播密码套件)
-
Suite Count: 1: 表明只定义了一个单播密码套件。
-
Type: AES (CCM) (4): 定义了用于客户端和 AP 之间一对一通信(单播帧)的加密算法。这里同样指定使用 AES-CCM。这与 AP 在握手消息1中提议的加密方式一致,表示客户端同意并支持该算法。
-
-
Auth Key Management (AKM) Suite (认证密钥管理套件)
-
Suite Count: 1: 表明只定义了一个 AKM 套件。
-
OUI: 00:0f:ac (Ieee 802.11): IEEE 802.11 定义的标准套件。
-
Type: PSK (2): 这是一个非常关键的字段。PSK 代表 Pre-Shared Key (预共享密钥)。这明确表示网络使用的是个人模式(WPA-Personal),通过一个所有用户共享的密码进行认证,而不是需要 RADIUS 服务器的“企业模式”(WPA-Enterprise)。
-
-
RSN Capabilities (RSN 能力)
-
这是一个 16 位的位图,每个位代表一个特定的安全功能是否被支持。
-
RSN Pre-Auth capabilities: ... does not support pre-authentication: 客户端不支持预认证,这是一种用于在不同 AP 之间快速漫游的功能。
-
Management Frame Protection Capable: False (管理帧保护能力:假): 这一位表示该客户端 不支持或不启用 802.11w 标准定义的“管理帧保护”(Management Frame Protection, MFP)。MFP 功能可以保护一些关键的管理帧(如 Deauthentication/Disassociation 帧)不被伪造,从而防止恶意用户发起拒绝服务攻击。
-
Management Frame Protection Required: False (要求管理帧保护:假): 客户端不要求此次连接必须使用 MFP。
-
总结
这个 RSNIE 告诉我们以下信息:
-
认证方式: 这是一个使用 预共享密钥(PSK) 的 WPA2/WPA3 个人网络。
-
加密算法: 无论是单播流量还是广播流量,都将使用强大的 AES-CCM 算法进行加密。这与 AP 在握手消息1中的提议相匹配,表明双方已达成一致。
-
安全特性: 这个客户端设备不支持(或未启用)管理帧保护(MFP/802.11w)。这在安全性上是一个弱点,因为它使得连接容易受到某些类型的攻击。
总而言之,客户端通过这个 RSNIE 向 AP 完整地传达了它对本次安全连接的配置和能力,AP 在收到并验证这些信息后,将继续进行四次握手的第三步。

浙公网安备 33010602011771号