目录
前言
现在网站都是https 或者 很多站点都支持 http2。这些站点为了保证数据的安全都通过TLS/SSL 加密过,用wireshark 并不能很好的去解析报文,我们就需要用wireshark去解密这些报文。我主要讲解下mac 在 chrome 怎么配置的,浏览器一定要支持HTTP2。
原理
获取TLS握手阶段生成的密钥,也就是说通过Chrome 浏览器DEBUG 日志中的握手信息生成密钥,wireshark 去读取文件,解析文件就可以了。
操作
- 首先需要关闭包括后台进程的chrome。可以用命令
bash
killall "Google Chrome"
- 配置环境变量
bash
export SSLKEYLOGFILE="/Users/xingyuliu/software/mytestssl.txt"
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --enable-logging --v=1
- 文件必须有写的权限
bash
chmod -R 777 mytestssl.txt
4.环境变量可以在 mac 的 .bash_profile 配置
bash
export SSLKEYLOGFILE="/Users/xingyuliu/software/mytestssl.txt"
- 然后source .bash_profile 文件就可以了
配置 wireshark
打开第一个菜单下面的 Prefecense -> Protocols-> TLS
配置成这样就可以了
配置好后我们在浏览器输入站点是HTT2 的网址应该是这样的就说明 wireshark 已经可以解析http2 的报文了。
好了可以了,每次解析前记得一定要完成第一步。