我正在使用请求库来完成与https网站的通信。这很有效,我唯一的问题是wireshark不再在" Decrypted SSL Data"中删除纯文本信息。按照此说明操作后的选项卡:
https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/
设置环境变量,允许chrome和firefox将ssl键存储在文件中,wireshark实时使用此文件。
他们可以修改一个简单的https请求脚本,例如:
import requests
resp = requests.get("https://www.google.com", allow_redirects=True)
还将ssl键存储为chrome和firefox吗?
根据我对类似的OpenSSL实现的理解,你必须在内存中找到主密钥和会话密钥 - 从cmd运行还是实用时这是可行的吗?
答案 0 :(得分:1)
现在使用 Requests 似乎可以做到这一点。
我已设置 SSLKEYLOGFILE=secrets.log
,然后通过 requests.get() 运行请求,secrets.log
现在填充了 TLS 机密。我使用的是 requests v2.25.1 和 urllib3 v1.26.3。
显然,OpenSSL 需要一段时间才能提供提取密钥信息所需的 API,然后需要时间在 pyOpenSSL 中创建绑定以利用这些 API,然后将其冒泡到 urllib3。
有关详细信息,请参阅此问题:https://github.com/psf/requests/issues/3674
答案 1 :(得分:-2)
openssl s_client -connect www.google.com:443 -showcerts
您将看到Google网站使用的所有证书。