如果不使用 Wireshark,如何解密 802.11?我知道需要 EAPOL 和密码,但解密需要哪些步骤?换句话说,Wireshark 如何解密捕获的数据包?
答案1
假设您有一个使用 WPA2-PSK 的 Wi-Fi 网络的 802.11 监控模式数据包跟踪,并且您想要在不使用 Wireshark 功能的情况下手动解密它。
首先,您需要知道网络的 WPA2 密码或 PSK。如果您不知道,您就什么也做不了。
其次,要意识到每个客户端每次重新连接时都会与 AP 协作生成一个新的加密密钥(成对临时密钥或 PTK),该密钥仅用于该连接。因此,每个客户端每次重新连接时都会获得一个新密钥。这些 PTK 是由 WPA2 密码短语 (PSK) 加上一些称为随机数当客户端[重新]连接时,客户端和 AP 会生成该信息。
因此,要解密给定连接会话中给定客户端的流量,您需要这些随机数,因此您需要查看数据包跟踪并查看客户端连接的时间,并从连接开始时找到 EAPOL 密钥帧(WPA2 握手)。查看这些帧(它们将是明文的),并获取这些随机数。
一旦您获得了网络的 WPA2 密码/PSK,以及来自给定客户端的给定连接的握手随机数,您就可以执行 AES-CCMP 数学运算来解密来自该客户端会话的流量。
AES-CCMP 的工作原理细节超出了超级用户问题的范围,但它在 802.11 规范(可从 IEEE 免费下载)和它引用的 AES 文档中公开记录。
答案2
我假设您的请求仅供测试实验室使用。如果是这样,为了解密 802.11 数据包,正如您上面提到的那样 - 您必须向 Wireshark 应用程序提供 SSID 和密码。当站点关联到接入点时,您还必须捕获关联过程(基本上是所有初始管理数据包),以便解密数据包。如果您有加密的捕获文件并且您有 SSID 和密码,则您的捕获必须包括关联过程。您还可以使用 savvius (https://www.savvius.com/)。