wireshark for ssl

这里有一篇文章关于如何用wireshark来解密SSL , 前提是知道server的私钥。这个通常是不可能的。自己试试倒是可以。方法是 Edit -> Preferences, Protocols -> SSL , 设置SSL的私钥以及证书等。因为实际debug中不可行(没有server私钥),因此不去过多关注。

另一中方法是对于DHE密钥交换算法适用的。这个算法中,双方交换的只是pre-master, 利用这个值加上客户端和服务器端的随机数生成用来加密的主密钥,以及一些其他的签名密钥等。(4套密钥)。这四套密钥客户端和服务器端各自独立计算,然后用来加密。

这种情况下,可以让firefox导出随机数以及pre-master(前主密钥), 然后在wireshark中指定这个logfile 就可以解密SSL数据了。

导出这个文件需要自己build 一个debug版的firefox , 然后设置环境变量SSLKEYLOGFILE , 即可。详细在这里

我导出这个key文件以后,wireshark并不能解密,因为我的key file中只有CLIENT_RANDOM , wireshark不能处理这个。根据这个博客的说明,可能是wireshark版本不够新的原因。

—–

另,根据PK11的log , 二者DeriveKey的参数一样,现在怀疑二者的premaster生成算法是否一致。



本文地址: http://www.bagualu.net/wordpress/archives/3577 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注