欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

抓取并解密HTTPS流量

程序员文章站 2022-03-24 08:33:28
WireShark Wireshark解密TLS数据流,从网上已有资料来看,主要是两种方式:一是服务端私钥直接解密,二是使用SSLKEYLOGFILE获取握手过程中的会话密钥信息进行解密。 这里只尝试第二种方式解密TLS数据。可用的应用包括:chrome、Firefox、curl。 首先设置SSLK ......

wireshark

  wireshark解密tls数据流,从网上已有资料来看,主要是两种方式:一是服务端私钥直接解密,二是使用sslkeylogfile获取握手过程中的会话密钥信息进行解密。

  这里只尝试第二种方式解密tls数据。可用的应用包括:chrome、firefox、curl。

  首先设置sslkeylogfile用户环境变量,值为自定义的文件路径。示例:

抓取并解密HTTPS流量

  或是启动浏览器进程时追加参数--ssl-key-log-file=<path>。

抓取并解密HTTPS流量

  测试开始,开启wireshark,访问https://www.baidu.com,网页加载完成后退出浏览器,wireshark结束抓包。目标路径下生成了相应密钥文件。然后wireshark中,编辑 -> 首选项 -> protocols -> tls,里面可以添加rsa解密私钥、预共享密钥、主密钥。这里只是用了(预)主密钥,导入先前生成的密钥文件。最后在主窗口中查看,或是追踪tls流,相应数据已经被解密。

抓取并解密HTTPS流量

fiddler

  但是通常在分析一些非浏览器进程时,对于使用https的,也不需要看tcp数据的,可以使用fiddler(工作于应用层),虚拟机中导入该工具携带的证书,然后在fiddler中开启https解密选项,即可解密。

参考:

https://blog.didierstevens.com/2020/12/14/decrypting-tls-streams-with-wireshark-part-1/(服务器密钥导入)

https://blog.didierstevens.com/2020/12/28/decrypting-tls-streams-with-wireshark-part-2/(sslkeylogfile)

https://blog.didierstevens.com/2021/01/11/decrypting-tls-streams-with-wireshark-part-3/(密钥导出和嵌入)

https://support.f5.com/csp/article/k50557518