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

别再只输密码了!手把手带你用Wireshark抓包,亲手‘看见’WPA2的四次握手过程(含过滤技巧)

无线网络安全实战:用Wireshark解析WPA2四次握手全流程

家里WiFi突然连不上?明明密码正确却反复提示认证失败?作为网络工程师,我遇到过太多次同事抱怨"路由器抽风",而真相往往藏在那些看不见的数据帧里。今天我们就用Wireshark这把"手术刀",解剖WiFi连接过程中最关键的四次握手环节,让你亲眼见证PTK密钥的诞生过程。

1. 实验环境准备:从监听模式开始

工欲善其事,必先利其器。不同于普通抓包,捕获无线帧需要特殊的监听模式(Monitor Mode)。我推荐使用性价比极高的Alfa AWUS036NHA网卡,它的Atheros AR9271芯片对Linux内核支持良好,实测在Kali 2023.3上即插即用。

必备工具清单

  • Wireshark 4.0.8(新增IEEE 802.11协议增强解析)
  • 支持监听模式的无线网卡(建议芯片组:Atheros/Realtek RTL8812AU)
  • 家用无线路由器(关闭WPA3以简化实验)

在Ubuntu系统下启用监听模式只需三条命令:

sudo airmon-ng check kill # 结束可能冲突的进程 sudo ip link set wlan0 down # 关闭网卡 sudo iwconfig wlan0 mode monitor # 切换模式

注意:部分Intel网卡需安装专用驱动补丁,遇到"Operation not supported"错误时可尝试git clone https://github.com/aircrack-ng/rtl8812au

2. 精准捕获握手帧:过滤策略详解

启动Wireshark后,常见的误区是直接开始抓包,结果被海量的Beacon帧淹没。我的私藏过滤公式能让你直击要害:

关键过滤表达式

(wlan.fc.type_subtype == 0x0b) || # 认证请求 (wlan.fc.type_subtype == 0x00) || # 关联请求 (eapol) # 四次握手帧

这个组合拳能捕获连接全过程的三类关键帧。特别提醒:在802.11标准中,四次握手属于EAPOL(Extensible Authentication Protocol over LAN)协议,而非普通的Data帧。

帧类型速查表

十六进制值类型说明在握手阶段的作用
0x0bAuthentication设备身份初步验证
0x00Association Req协商连接参数
0x08EAPOL-Key (Msg1)AP发送ANonce
0x0108EAPOL-Key (Msg2)STA回复SNonce和MIC
0x0308EAPOL-Key (Msg3)AP确认密钥安装
0x0408EAPOL-Key (Msg4)STA最终确认

3. 四次握手深度解析:从报文到密钥

现在来到最激动人心的环节——解剖抓取到的EAPOL帧。以第一次握手为例,在Wireshark中展开802.1X Authentication标签,你会看到类似这样的结构:

Key Descriptor Version: HMAC-SHA1-128 Key Type: Pairwise Key Key Information: 0x008a (Secure, Key MIC, Install, Ack) Key Length: 16 Replay Counter: 1 WPA Key Nonce: a1b2c3d4...(32字节ANonce) Key MIC: 0000...(初始为空) Key Data Length: 0

关键字段解读

  • ANonce/SNonce:AP和客户端各自生成的随机数,相当于密钥材料的"盐值"
  • MIC:第二次握手开始出现,像蜡封一样确保消息未被篡改
  • Key Information:比特位控制密钥协商流程,0x008a中的8a对应二进制10001010

用Python演示PTK生成过程(需安装hashlib):

import hashlib, hmac def generate_ptk(pmk, anonce, snonce, ap_mac, sta_mac): # 拼接所有材料 material = b"".join([pmk, anonce, snonce, ap_mac, sta_mac]) # 使用PBKDF2-HMAC-SHA1迭代生成 return hashlib.pbkdf2_hmac('sha1', material, b"Pairwise key expansion", 4096, 32)

4. 实战排错:典型握手失败案例

上周我遇到个经典案例:某会议室WiFi反复弹出密码错误提示,但管理员坚称密码未更改。通过抓包分析发现:

  1. 客户端能收到Msg1(含ANonce)
  2. 但Msg2中的MIC校验失败
  3. 比较发现AP的PMK与客户端不一致

最终定位到原因是键盘布局错误——用户在不同区域笔记本电脑上输入密码时,默认切换了键盘映射,导致实际发送的PSK与AP存储不符。

常见故障排查表

现象可能原因验证方法
收不到Msg1AP配置错误检查Beacon帧中的RSN信息
Msg2后无响应MIC校验失败对比两端PMK
反复重传Msg3组播密钥安装失败检查GTK相关字段
完成握手但无法上网四次握手后DHCP问题捕获DHCP流程

建议在测试环境故意输入错误密码,观察Wireshark中的表现:你会看到AP在Msg2后直接发送Deauthentication帧( subtype 0x0c),这是WPA2协议的安全特性——不透露具体错误原因以避免暴力破解。

5. 进阶技巧:Wireshark个性化配置

为了让分析更高效,我习惯自定义Wireshark的着色规则:

  1. 右键报文 →Colorize Conversation→ 选择EAPOL
  2. 在协议首选项中启用IEEE 802.11的"Reassemble fragmented packets"
  3. 创建自定义列显示Key Replay Counter

对于需要长期监测的场景,可以用Tshark命令行保存特定握手过程:

tshark -i wlan0 -Y "eapol && wlan.addr == 00:11:22:33:44:55" -w handshake.pcapng

最后分享一个冷知识:在Wireshark 4.0+中,你可以右键EAPOL帧选择Decode AsIEEE 802.11,这样能直接看到加密字段的原始值,这对调试企业级Radius认证特别有用。

http://www.jsqmd.com/news/663515/

相关文章:

  • 如何用RL4CO构建智能决策引擎:5分钟掌握强化学习组合优化
  • OP-TEE安全存储深度解析(一):密钥层级与文件加密流程
  • 别再折腾环境了!Win10+GTX1060保姆级YOLOv4训练环境配置(CUDA10.1/CUDNN8.0.3/OpenCV4.4.0)
  • 从零手搓SM3国密算法:用C++一步步实现哈希函数(附完整可运行代码)
  • 解锁MATLAB算力:GPU并行计算实战指南
  • 如何用 filter 过滤数组中不符合业务条件的冗余数据
  • 从CH344Q出发:打造高性能USB转4路TTL串口模块的设计实践
  • 软件测试核心概念实战解析:从理论到习题的深度贯通
  • 别再让VAE学废了!手把手教你诊断和修复‘后验坍塌’(附PyTorch代码)
  • 从滤波到优化:手把手拆解VIO算法核心,看懂OpenVINS的MSCKF和ORB-SLAM3的BA到底差在哪
  • AI代码配额=新型IT预算?2026奇点大会披露:头部企业已将配额消耗纳入DevOps成本中心KPI(含真实财务映射表)
  • 最新 AI 论文盘点(2026-04-12):5 篇新作看长时记忆、推理微调、可审计医疗抽取、端侧个性化与分层 RAG
  • 从IoU到EIoU:目标检测边界框回归损失函数的演进与实战解析
  • 用周立功CAN分析仪抓包解析电动汽车充电握手(附真实报文数据)
  • 从原理到代码:手把手教你用C语言和OpenSSL实现RSA分段加密与验签(附完整项目)
  • ABR 会将自身所在区域内的路由(包括直连网段)通过 Type 3 LSA 通告到其他区域,但不会通告回本区域
  • Multi-Agent产品策略:从功能堆砌到智能工作流的重构
  • MT7916芯片深度解析:从拆机中兴E1630看MTK首款AX3000方案
  • Zotero-OCR插件:3步实现PDF文献智能识别与可搜索文本层添加
  • 【雷达成像】基于二维ADMM的稀度驱动ISAR成像附Matlab复现含文献
  • X.509数字证书实战解析:从结构到应用
  • 别再只读SOC了!MAX17048电量计的高级玩法:休眠管理、报警阈值设置与电量跳变修复
  • MATLAB条形图进阶:从基础bar函数到数据可视化实战
  • RobotStudio导入外部工具模型避坑指南:从‘无坐标’模型到可用的工具坐标系
  • Databricks 自定义容器配置指南
  • 从PID调参到根轨迹:一个电机控制工程师的实战避坑笔记
  • STM32 HAL库SPI驱动ST7789中景园屏实战:从CubeMX配置到显示优化
  • d2s-editor:暗黑破坏神2存档编辑实战指南与深度解析
  • 信息学奥赛一本通 1248:Dungeon Master | 三维迷宫搜索算法精讲
  • 别再手动算面积和距离了!用Shapely处理GeoJSON数据,效率提升10倍