概述
https是加密过的应用层协议,如果直接使用wireshark抓包,抓到的信息解析不出来,我们也看不懂,密钥信息浏览器都知道的,以Linux下的谷歌浏览器为例,如何让wireshark可以解析出https。
具体做法
首先设置一个环境变量,然后新建此文件,注意该文件的权限问题。
SSLKEYLOGFILE="/tmp/sslkeylog.txt"
环境变量可以设置在/etc/profile或者用户下的配置文件中,如果是写在了用户目录下,需要命令行中启动浏览器,应该是因为安装浏览器是全局安装的,所以不会检查用户的环境变量。SSLKEYLOGFILE是浏览器提供的一个功能,可以把通信中的SSL信息写入到此文件中。
接着设置wireshark,在编辑--首选项--协议里找到SSL或者TLS协议,有个(Pre)-Master-Secret log filename选项,浏览到刚刚新建的文件夹下,如果需要的话,可以再设置一下debug file,查看解密情况。此时,再用wireshark抓包,就可以看到https的通信了。