抓包wifi连接四次握手流程

本文详细解析了Wi-Fi连接过程中的四次握手流程,采用WPA2-Personal认证方式与AES加密方式,通过抓包记录了EAPOLM1至EAPOLM4的全过程。

     心血来潮,想看下wifi连接的四次握手流程是如何的, 分享一下:

     路由设置成WPA2-Personal认证方式, AES加密方式,抓包如下:

     EAPOL M1包: 

     

     EAPOL M2包:

     

    EAPOL M3包:

    
    EAPOL M4包:

    

### Wi-Fi 四次握手过程及常见问题排查 Wi-Fi 连接的建立涉及一系列认证和密钥交换过程,通常称为“四次握手”(4-Way Handshake),其主要目的是在客户端与接入点(AP)之间安全地协商临时加密密钥,并验证对方的身份[^2]。该过程是 WPA/WPA2 安全协议的一部分,确保数据传输的保密性和完整性。 #### 1. 四次握手过程详解 - **第一握手**:接入点(AP)发送一个包含随机数 ANonce 的明文帧(EAPOL-Key 帧)给客户端。 - **第二握手**:客户端生成另一个随机数 SNonce,并结合 ANonce、PMK(Pairwise Master Key)、MAC 地址等信息计算出 PTK(Pairwise Transient Key)。然后客户端将 SNonce 发送给 AP。 - **第三握手**:AP 收到 SNonce 后,也计算出 PTK,并使用该密钥对一个确认消息进行加密,发送给客户端。 - **第四次握手**:客户端解密并验证收到的消息后,向 AP 发送一个确认响应,表示连接已成功建立。 整个过程确保了双方都拥有相同的主密钥(PMK),并能够独立计算出相同的会话密钥(PTK)用于后续的数据加密和解密[^2]。 #### 2. 四次握手常见问题及排查方法 ##### (1握手失败或超时 若客户端未能完成四次握手,可能的原因包括: - **认证失败**:密码错误或 RADIUS 服务器未响应。 - **密钥不匹配**:客户端与 AP 使用不同的 PMK 或无法正确派生 PTK。 - **网络延迟或丢包**:导致 EAPOL-Key 消息未能及时送达。 可通过以下方式排查: - 使用 `wpa_supplicant` 日志查看握手状态: ```bash logcat -s wpa_supplicant ``` 若日志中出现 `CTRL-EVENT-KEYNEGOTIATION-FAILED`,则表明握手失败。 - 检查路由器日志,确认是否收到客户端的响应。 - 使用 Wireshark 抓包分析 EAPOL-Key 消息的交互流程,确认是否存在丢包或异常重传。 ##### (2)重复握手或频繁断开 若设备频繁重新进行四次握手,可能原因包括: - **信号不稳定**:Wi-Fi 信号弱或干扰严重,导致数据包丢失。 - **配置不一致**:如 TKIP/CCMP 加密方式不一致、WPA/WPA2 混合模式配置错误。 - **驱动或固件问题**:某些设备的无线网卡驱动存在兼容性问题。 排查方法包括: - 查看 `dmesg` 日志,检查无线驱动是否有异常: ```bash dmesg | grep wlan ``` - 确认路由器与客户端的安全协议版本一致。 - 尝试更换信道或降低加密强度以测试稳定性。 ##### (3)PMK 缓存失效 部分设备支持 PMK 缓存机制,即在短时间内切换网络时无需重新进行完整握手。若缓存失效,可能导致额外的握手延迟。 可在 `wpa_supplicant` 配置文件中启用 PMK 缓存: ```properties pmksa_caching=1 ``` 并通过 `logcat` 观察是否命中缓存: ```bash logcat -s wpa_supplicant | grep "PMKSA cache" ``` ##### (4)企业级认证场景下的问题 在使用 802.1X 认证的企业级 Wi-Fi 网络中,四次握手依赖于 EAP 认证结果。若 EAP 认证失败,将无法进入握手阶段。 可检查以下日志: - 客户端侧的 `wpa_supplicant` 日志: ```bash logcat -s wpa_supplicant | grep "EAP" ``` - 路由器或 RADIUS 服务器日志,确认用户凭证是否被接受。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值