wireshark 无法解密tls_用Wireshark轻松解密TLS浏览器流量

用Wireshark轻松解密TLS浏览器流量

2015-02-13 19:37:17

阅读:0次

概述:

引言

大多搞IT的人多少知道点Wireshark。它是一款浏览分析器,可以帮助你知道有多少网络在运行、诊断网络问题等等。

Wireshark运行的一个问题是它无法轻易地分析出加密流量,如TLS。之前你只要有密钥,将它们输入Wireshark就可以解密流量,但只有在密钥交换机制使用RSA时才能起作用。随着使用正向加密的人开始变少,只拥有密钥并不足以得到用于解密数据的会话密钥。另外一个问题是,密钥不应该也不能离开客户端、服务器或者它所在的高速存储器。这让我想到非常具有争议的中间人方法(例如sslstrip)。

登录会话加密来救场!

朋友们,我要告诉你们还有一种更简单的办法!Firefox跟Chrome都支持登录会话对称加密,以将TLS流量加密至一个文件中。随后你可将Wireshark指向所述文件——神奇的时刻来了:我们得到了解密之后的TLS流量。下面来看看怎么进行设置。

设置浏览器

我们需要设置一个环境变量

Windows:

进入电脑属性页面,点击“高级系统设置”,点击“环境变量”

添加一个新的用户变量“SSLKEYLOGFILE”并将其指向你想要放日志文件的地方。

Linux或Max OS X$ export SSLKEYLOGFILE=~/path/to/sslkeylog.log

同时,将它加入Linux上如下代码的最后一行~/.bashrc

或者将~/.MacOSX/environment

添加到OS X,这样每当你登录时一切都已设置好。

下次当我们登录Firefox或者Chrome最新开发版时,它们会将你的TLS密钥登录到这个文件。

设置Wireshark

Wireshark

扩展协议部分:

浏览你的日志文件位置

结果

它比我们正常看到的TLS包多了几行:

当你转换到“解密SSL数据”标签时,会看到如下内容。现在,我们能够看到明文请求信息了!成功了!

结论

我希望你今天能学到一些东西,这个方法让捕获TLS通信更容易。这个设置的好处之一是生成TLS流量的客户端/服务器无需Wireshark,因此你不需要用这些东西搞砸客户端机器,你可以让它们把日志转储到网络共享或将其复制并与机器共同做抓包。

你可能感兴趣的:(wireshark,无法解密tls)