如何使用 Wireshark 解密 WPA2 加密数据包?

如何使用 Wireshark 解密 WPA2 加密数据包?

我正在尝试使用 Wireshark 解密我的 WLAN 数据。我已经阅读并尝试了所有方法在本页但没有任何成功(好吧,我尝试了该页面上的示例转储并且成功了,但我自己的数据包失败了)。

我捕获了另一个连接到网络的客户端的四次握手。

我的网络信息如下:

  • 采用 AES 加密的 WPA2-PSK 个人版
  • SSID:测试
  • 密码:mypass
  • 上述信息将提供以下预共享密钥:58af7d7ce2e11faeab2278a5ef45de4944385f319b52a5b2d82389faedd3f9bf

在 Wireshark 的“首选项”-->“IEEE 802.11”中,我已将此行设置为键 1:

wpa-psk:58af7d7ce2e11faeab2278a5ef45de4944385f319b52a5b2d82389faedd3f9bf

我尝试了“忽略保护位”的不同选项,但都没有用。

我可能错过了什么?

编辑
这真是件奇怪的事情!我现在可以解密来自/发往我另一台笔记本电脑的数据包。但来自/发往我的更多截屏无法解密。为什么我的 iPad 上的数据包无法解密?它们在同一个网络上。

答案1

WPA 使用随机数(仅用于此会话的随机数)来提供新鲜度(因此不会每次都使用相同的密钥)。与 WEP 不同,不同主机的消息使用不同的密钥加密。您的 iPad 使用与笔记本电脑完全不同的密钥来加密/解密数据包(这些密钥由您每次连接到网络时从永久主密钥和其他信息生成)。请参阅这篇维基百科文章以了解更多详细信息并作为起点。

答案2

您需要专门捕获要解密的会话的 EAPOL 握手。您无法捕获一台设备的握手,然后解密另一台设备的流量。所以我的猜测是,当您可以从笔记本电脑解密流量但不能从 iPad 解密流量时,Wireshark 仅捕获笔记本电脑的四次握手。

相关内容