Windows 上解密 chrome 的 https 流量
https 其实是使用传输层的 SSL/TLS 对内容进行加密. SSL/TLS 首先使用非对称加密传输客户端产生的 pre-master secret key. 然后之后使使用对称加密传输内存, 对称加密的的算法使用之前双方都有的 pre-master secret key 作为秘钥. 如果知道了 pre-master secret key, 那么就能解密 https 的流量了. 下面是 windows 上使用 chrome 截取 pre-master secret key 并使用 wireshark 解密的例子.
- 设置环境变量 SSLKEYLOGFILE 的值是本地一个文件
- 重新启动 chrome;
- 随便访问一个 https 网站, 查看上面设置的文件里是不是已经有 key 产生;
- 启动 wireshark, 设置 TLS 的 key 文件.
菜单: Edit -> Preferences -> Protocols -> TLS -> (pre-)master secret key log file
- 使用 wireshark 抓包, 或者 wincap 抓包. 抓包后最好使用 wireshark filter 一下. 找到 http1.1 或者 http2 的内容, 就能看到原文了