<返回更多

用wireshark解密HTTPS流量

2021-07-16    小桃子的狗皮膏药
加入收藏

我们日常用https访问网站的时候,和网站交互的数据是加密的,所用的协议就是SSL/TLS。所以即使我们截获了这些数据包,我们也不能看到加密的内容。

比如我们随便打开百度的网址,用wireshark抓一下https的数据包。

首先获取百度服务器地址:

用wireshark解密HTTPS流量

 

开始抓包:

用wireshark解密HTTPS流量

 

注意到通信的数据都是以二进制的形式表现出来的:

用wireshark解密HTTPS流量

 

那我们怎么才能获得明文信息呢?

SSL采用的是对称加密和非对称加密相结合的方式进行通信。加密数据的过程是对称加密,也就是客户端和服务器的报文都是由一把钥匙进行加密的。那么只要我们能获取到这把钥匙,就能对上面的报文进行解密。

 

chrome和Firefox浏览器都可以记录这个密钥,前提是需要设置系统的环境变量SSLKEYLOGFILE,当用chrome和Firefox浏览器访问网页的时候,浏览器会检查这个环境变量,存在的话会向指定的文件里写入这个密钥。

配置环境变量:

用wireshark解密HTTPS流量

 

可以看到文件里被写入了很多密钥信息:

用wireshark解密HTTPS流量

 

在wireshark中进入进入首选项

用wireshark解密HTTPS流量

 

选择协议TLS或者SSL,将pre-master-secret log设置为记录密钥的log路径

用wireshark解密HTTPS流量

 

点击确认后,就能对TLS流量进行解密了:

用wireshark解密HTTPS流量

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>