我想在Windows中打开浏览器,进入到HTTPS站点,并同时使用Wireshark捕获数据包执行一系列操作。 然后我想使用加密的数据包捕获,查看解密的HTTP流量。 我知道很多方法可以做到这一点(见下表),如果你放弃浏览器,可以访问服务器,或添加MITM,但这些工作的,当你所规定的限制的情况。 这里是我的典型方法:
服务器:在那里我有服务器私钥,使用Wireshark内置的SSL解密网站。
MITM:一个SSL代理服务器(例如,打嗝套件)将允许解密的流量观看,但这需要使用比什么是由服务器使用不同的证书和密钥对。
浏览器:OpenSSL的的s_client.First可以连接,提出请求,并导出主密钥,但是这并不能显示相关网页或运行JavaScript来计算后续请求参数。
有没有从“正常”的浏览器导出主密钥,这样我可以用它来解密后的浏览器会话的数据包捕获的方法吗?
例如,存储在磁盘上的SSL / TLS状态,当浏览器被关闭? 如果是的话,我将如何访问它? 它是在内存存取浏览器运行时(如果有的话我将如何找到它)?
或者,是由操作系统(Windows)存储所有SSL状态的数据,而不是直接访问?
另外,有一种方法强制浏览器使用特定的主密钥(和类似的会话ID等任何其他相关联的SSL状态数据),用于特定的HTTPS连接? 如果是的话,我可以设置使用的s_client.First SSL会话,然后将关键数据传送到浏览器并打开在同一会话的新连接。 这将实现通过不同的手段同样的目标。