Wireshark解密HTTPS数据流

如果是chrome浏览器的数据流 直接配置”SSLKEYLOGFILE“就可以解密了。

实现过程:

1.配置系统环境变量

变量名:SSLKEYLOGFILE

变量值:随意指定一个存储路径,以便chrome输出keylog

2.配置Wireshark

填入你在系统变量中指定的keylog存储路径,以便wireshark访问keylog中的key 从而解密https(ssl)

 

原理解析:

当你配置了”SSLKEYLOGFILE“这个环境变量,这意味着你告诉chrome 你想知道chrome每次https会话的key记录,chrome将会在每次https会话结束后 将会话数据解密的key记录到keylog文件中,Wireshark通过访问keylog文件使用里面的key就可以解密自己捕获到的chrome产生的https会话数据流。

 

非chrome的https数据流怎么解密呢?

可以通过服务器证书的RSA私钥。

 

列程,我想要解密百度的https数据流

实现过程:

1.拿到百度的服务器证书

使用fiddler的中间人代理技术拿到含有私钥的服务器证书。

1).打开fiddler并启用https代理服务

2).用配置了fiddler代理的浏览器访问百度

3).运行”certmgr.msc“打开证书管理器

4)从Personal/Certificates目录下找到*.baidu.com的证书,右键所有任务-导出

2.取出证书中的私钥

使用openssl取出私钥。

1).将pfx证书转为pem证书

命令行:openssl pkcs12 -in <pfx证书路径> -nodes -out <输出的pem证书路径(.pem)>

2).从pem证书中取出私钥

命令行:openssl rsa -in <pem证书路径> -out <输出的私钥文件路径(.key)>

3.将私钥配置到wireshark

现在就可以解密与*.baidu.com相关的https数据流了!

 

posted @ 2018-05-24 13:30 池温希傲 阅读(...) 评论(...) 编辑 收藏