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