Wireshark和SSL/TLS主密钥

mitmproxy可以记录SSL/TLS主密钥,以便外部程序可以解密与代理之间的SSL/TLS连接。最新版本的Wireshark可以使用这些日志文件来解密数据包。有关更多信息,请参见Wireshark Wiki

通过设置环境变量来启用键记录SSLKEYLOGFILE,使其指向可写的文本文件:

SSLKEYLOGFILE="$PWD/.mitmproxy/sslkeylogfile.txt" mitmproxy

您还可以使用export此环境变量使它对于从当前Shell会话启动的所有应用程序都具有持久性。

您可以通过在Wireshark中指定密钥文件路径Edit -> Preferences -> Protocols -> TLS -> (Pre)-Master-Secret log filename。如果您的SSLKEYLOGFILE还不存在,则只需创建一个空文本文件,即可在Wireshark中选择它(或运行mitmproxy来创建和收集主密钥)。

请注意,SSLKEYLOGFILE其他程序也遵守该规则,例如Firefox和Chrome。如果这引起任何问题,则可以使用它MITMPROXY_SSLKEYLOGFILE而不影响其他应用程序。