1. 为什么需要关注WLAN四次握手?
作为网络安全工程师,我经常遇到这样的场景:办公室Wi-Fi突然大面积掉线,或者监控系统频繁报警显示异常连接。这时候第一个反应就是抓包分析,而四次握手过程就像无线网络的"指纹识别",能直接反映连接的安全状态。
记得去年排查某企业网络故障时,发现员工手机频繁断开重连。用Wireshark抓包后发现,超过60%的四次握手在第三阶段失败。进一步分析发现是AP的GTK密钥生成算法存在兼容性问题。这个案例让我深刻意识到,理解四次握手就像掌握无线网络的"听诊器"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 四次握手前的准备工作
2.1 搭建抓包环境
在开始前需要准备:
- 支持监控模式的无线网卡(推荐Intel 7260或Atheros AR9271)
- Wireshark 3.6以上版本(内置更完整的802.11解析器)
- 测试用AP(建议关闭MAC过滤等附加功能)
关键配置步骤:
bash复制# 设置网卡监控模式
sudo airmon-ng start wlan0
# 只捕获EAPOL帧(四次握手专用协议)
tshark -i wlan0mon -Y "eapol" -w handshake.pcap
2.2 必须知道的几个核心概念
- PMK:像网络连接的"身份证号",由预共享密钥(PSK)和SSID通过PBKDF2算法生成
- Nonce:每次握手独有的随机数,相当于一次性密码本
- MIC校验码:类似文件的MD5校验值,用于验证消息完整性
3. 四次握手全流程解析
3.1 第一次握手:AP发起挑战
AP发送包含以下要素的EAPOL帧:
- A-Nonce(AP生成的随机数)
- 关键字段解析:
- Key Descriptor Version:标识WPA/WPA2版本
- Key MIC位:初始为0(尚未生成MIC)
常见问题:如果抓包看不到第一次握手,可能是STA的探测请求未被AP响应,建议检查信道配置。
3.2 第二次握手:STA响应挑战
STA收到A-Nonce后:
- 结合已知的PMK、双方MAC、A-Nonce生成S-Nonce
- 计算PTK(包含KCK、KEK、TK三部分)
- 用KCK计算MIC值
Wireshark
