我已经编写了一个 Android 应用程序来通过 HTTPS 获取 JSON 数据,并且我想使用 Wireshark 来捕获数据。
如何查看加密的应用程序数据?
我花了很长时间研究它,但它不起作用。我使用另一个工具来做到这一点:Fiddler,它就在这里,效果很好。
如果您提供包含在 TLS 连接期间交换的主密钥的文件,Wireshark 可以解密 TLS 数据。
使用环境变量定义日志文件的位置:
export SSLKEYLOGFILE=~/.ssl-key.log
您可以通过将这条线放入您的.bashrc
或bash_profile
但保留这些秘密会带来安全风险来使其永久化。
然后,将 Wireshark 指向该文件:
开始使用 Wireshark 捕获数据包,创建一些 TLS 流量(curl
例如),并检查解密的数据:
您SSLKEYLOGFILE
将包含如下行:
CLIENT_RANDOM c1299911e65097c367c0124fb97548f81b618cbdc9c270c10a350c4fd39f3eb6 0d7523a42610316250b7a72fe2881daa6aff1bedf5955c64a747fc43bd93cbf1bf3650eeabb8f47b350feaedd7209952
以下是有关 Wireshark 中 TLS 的一些资源:
此答案中的 Wireshark 版本是在 Arch Linux 5.12.9 上运行的 3.4.6。