GKLBB

当你经历了暴风雨,你也就成为了暴风雨

导航

流量分析 --- 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社区

  1. 管理帧: 处理“住户关系”。广播小区信息、发现小区、申请/批准入住、搬家、告别/驱逐。 (信标、探测、关联/认证、解除)

  2. 控制帧: 管理“空中马路”。申请路权、批准通行、确认收货成功、省电协调、批量签收。 (RTS/CTS, ACK, PS-Poll, Block ACK)

  3. 数据帧: 真正运送“货物”(用户数据)。是连接建立后的主要工作。根据地址发送,可能加密,可能有加急标签。 (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数据)

关键补充说明

  1. 帧结构通用字段:

    • Frame Control:帧类型(2位) + 子类型(4位) + 安全位(Protected Flag)。

    • Duration/ID:预约信道占用时间(控制帧)或节能模式ID(管理帧)。

    • MAC地址:最多4个地址(源/目的/接收/发送),用于复杂中继场景。

    • Sequence Control:防重复包(序号+分段号)。

  2. 安全与加密:

    • Protected Flag=1 表示帧体被加密(WPA2/WPA3的CCMP/GCMP)。

    • 管理帧(如认证帧)可能被加密(WPA3增强安全)。

  3. 特殊帧:

    • 认证帧: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密码就是小区的门禁卡密码。整个过程是这样的:

  1. 发现小区(扫描SSID):

    • 你的手机(STA)打开Wi-Fi,会搜索周围有哪些小区(Wi-Fi网络/SSID)。

    • 它发现了你家的“幸福小区”(你的Wi-Fi名称/SSID)。

  2. 申请入住(关联请求):

    • 手机走到小区门口(连接到AP的信号范围),对门卫系统(AP)说:“我想住进幸福小区!”

    • AP回应:“好的,欢迎申请。但我们小区很安全,需要验证身份。”

  3. 证明你知道门禁密码 - 四次握手(核心认证):

    • 这不是直接告诉密码! 整个认证过程的关键在于:双方需要证明自己知道那个秘密的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)也拿到了。安全连接搞定!”

      • 门卫收到这条确认,整个握手完成。

  4. 安全入住(数据传输):

    • 从此以后:

      • 你(手机)和门卫(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:

  1. PSK (Pre-Shared Key - 预共享密钥):

    • 通俗解释:这就是你设置的 Wi-Fi 密码。

    • 作用: 它是整个安全连接建立的基础和信任源头。无论是 AP (路由器) 还是 STA (你的手机、电脑),都需要知道这个相同的密码。

    • 过程: 在四次握手开始之前,AP 和 STA 都已经知道了这个 PSK。它们不是直接用这个密码加密数据,而是用它作为“种子”,结合握手过程中交换的随机数 (ANonce, SNonce),通过复杂的数学计算,最终生成用于实际加密数据的临时密钥 (PTK 和 GTK)。

    • 关键点:

      • 它是一个长期存在的、共享的秘密。

      • 不直接用于加密你的网络流量。

      • 它是用来派生出真正加密密钥 (PTK, GTK) 的“原材料”和信任依据。

      • 所有连接同一个 Wi-Fi 网络(使用同一个 SSID 和 PSK)的设备都知道这个相同的 PSK。

  2. 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 的核心作用就是:

  1. 命令客户端 (STA) 立即启用用于点对点加密的 PTK (Install 标志)。

  2. 宣告安全会话正式生效 (Secure 标志)。

  3. 安全地分发用于广播/组播加密的 GTK(用刚建立的 PTK 加密),让客户端能听懂路由器对“大家”说的话。

理解 PSK 是基础密码,GTK 是用于广播通信的临时共享密钥,以及它们在四次握手(特别是消息 3)中的角色,是理解 WPA2/WPA3 安全性的关键。

 

 

802.11 无线帧的四次认证握手包(WPA/WPA2 的四次握手)

image

 

这个帧是 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)和将要使用的加密算法信息。

 

 

image

 

如果说第一个帧是 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 的消息。

总结

这个帧与第一个帧的核心区别在于 角色的转变和认证的实现

  1. 方向相反: 这是 客户端发往 AP 的帧,而第一个帧是 AP 发往客户端的。

  2. 生成 SNonce: 客户端生成了自己的随机数(SNonce),这是生成最终会话密钥(PTK)的第二个关键输入。

  3. 计算并验证 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 告诉我们以下信息:

  1. 认证方式: 这是一个使用 预共享密钥(PSK) 的 WPA2/WPA3 个人网络。

  2. 加密算法: 无论是单播流量还是广播流量,都将使用强大的 AES-CCM 算法进行加密。这与 AP 在握手消息1中的提议相匹配,表明双方已达成一致。

  3. 安全特性: 这个客户端设备不支持(或未启用)管理帧保护(MFP/802.11w)。这在安全性上是一个弱点,因为它使得连接容易受到某些类型的攻击。

总而言之,客户端通过这个 RSNIE 向 AP 完整地传达了它对本次安全连接的配置和能力,AP 在收到并验证这些信息后,将继续进行四次握手的第三步。

 

 

 

 

 

image

 

 

 

 

 

 

 

 

posted on 2025-07-26 14:16  GKLBB  阅读(132)  评论(0)    收藏  举报