分享

用wireshark解密HTTPS流量

 Fengsq501u81r4 2021-07-14

我们日常用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流量

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多