一个最简单的通过WireShark破解SSL加密网络数据包的方法

原文地址: http://article.yeeyan.org/view/530101/444688

一般来说,我们用WireShark来抓取包进行分析是没有多大问题的。但这里有个问题是,如果你碰到的是用SSL/TLS等加密手段加密过的网络数据的时候,往往我们只能束手无策。在过去的话,如果我们拥有的该传输会话的私钥的话我们还是可以将它提供给WireShark来让其对这些加密数据包进行解密的

 

1. 简介

 



 

相信能访问到这篇文章的同行基本上都会用过流行的网络抓包工具WireShark,用它来抓取相应的网络数据包来进行问题分析或者其他你懂的之类的事情。

一般来说,我们用WireShark来抓取包进行分析是没有多大问题的。但这里有个问题是,如果你碰到的是用SSL/TLS等加密手段加密过的网络数据的时候,往往我们只能束手无策。在过去的话,如果我们拥有的该传输会话的私钥的话我们还是可以将它提供给WireShark来让其对这些加密数据包进行解密的,但这已经是想当年还用RSA进行网络数据加密的年代的事情了。当今大家都已经逐渐拥抱前向加密技术PFS 的时代了,所以该方法就不再适用了。因为前向加密技术的目的就是让每个数据交互都使用的是不同的私钥,所以你像以前RSA时代一样想只用一个私钥就能把整个session会话的网络数据包都破解出来的话是不可能的了。所以这将是一个挺恼火的事情。

2. Session Key日记记录来救火!

 



 

大家先别火起,这里我来告诉你另外一个简单的方法来解决这个问题!其实Firefox和Chrome浏览器都支持用日记文件的方式记录下用来加密TLS数据包对称会话秘钥的。这样你就可以在WireShark中指定该文件来快速完成你的破解目的了。请继续往下看具体的步骤。

3. Browsers配置

 



 

首先你需要配置一个环境变量。

3.1 在Windows下的配置:

怎么去到环境变量配置页面相信不需要我多说了,毕竟国内还是Windows的天下。

在上图的位置增加一个新的叫做“SSLKEYLOGFILE”的环境变量并指定其路径到你想要保存你的会话私钥的地方。

3.2 在Linux或者MAC OS X上的配置:

 

1

 


 

$ export SSLKEYLOGFILE=~/path/to/sslkeylog.log

 

当然,如果你想在你的系统每次启动的时候都指定该日记路径的话,你可以在你的Linux下执行下面的动作:

 

1

 


 

~/.bashrc

 

或者在你的MAC OS X上执行以下命令:

 

1

 


 

~/.MacOSX/environment

 

这样我们下次启动Firefox或者Chrome的开发者模式的时候,TLS秘钥就会自动写入到该指定文件下面了。

4. Wireshark配置

 



 

为了支持这个功能,你当前的WireShark版本必须是1.6或者更新。我们仅仅要做的就是先进入偏好设置页面:

展开协议选项:

找到SSL选项然后如下图所示打开上面设置好的会话秘钥保存文件:


5. 结果

 



 

下图就是我们通常见到的WireShark抓到TLS数据包后的显示结果:

This is what it looks like when you switch to the “Decrypted SSL Data” tab.  Note that we can now see the request information in plain-text!  Success!大家可以看到WireShark下面会有一个“已解密的SSL Data”的标签,点击之后你就可以如下图所示的看到已经解密的TLS数据包的相信信息了:

6. 小结

 



 

通过本文我真心希望你能从中学到一些东西,该方法让我们能够如此直截了当的去把TLS数据包给破解出来。这种方式的另外一个值得一提的好处是,给会话过程中的两台机器根本不需要安装任何Wireshark工具,因为你会担心安装上去会搞得问题是做多错多都不知道哪里出问题了。你只需要做的是把他们上面的该会话秘钥文件指定到一个网络共享文件夹然后用另外一个已经机器上安装WireShark并如前所示指定该秘钥文件进行抓包就了事了。

最后多谢大家查看本文。如想每天都能看到最新的技术等资讯文章,敬请关注本人下面提供的微信公众号:techgogogo。谢谢!

-------------完------------------

英文原文引用:https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/

时间: 2024-10-25 08:51:48

一个最简单的通过WireShark破解SSL加密网络数据包的方法的相关文章

Wireshark抓到的TLSv1(SSL)协议的数据包怎么样解密出来啊?

问题描述 我在分析一个https网站时,Wireshark抓到的TLSv1(SSL)协议的数据包,这里应该是发送了一个get或者post请求,因为我在firefox用httpfox在这个位置是一个post.那么我应该怎样将这块的TLSv1数据包解密出来呢?网上查过http://blog.csdn.net/cch5487614/article/details/6364711,说要导出一个证书,转成.pem格式,但是这个证书是什么证书,从哪导出啊?请大神们给我仔细讲讲啊谢谢! 解决方案 本帖最后由

Linux下Wireshark的网络抓包使用方法

Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉. Wireshark的优势: - 安装方便. - 简单易用的界面. - 提供丰富的功能. Wireshark的原名是Ethereal,新名字是2006年起用的.当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件.但由于Ethereal这个名称的

xen-两台主机一台路由器,网络数据包从一个接口出来后在内核中是怎么走的?

问题描述 两台主机一台路由器,网络数据包从一个接口出来后在内核中是怎么走的? pc1------------------eth1(R1)eth2-------------------pc2 pc1 ping pc2 环境都配置好了,数据包从eth1中出来后在内核中的流程是什么,会首先进入内核中的哪个函数?

利用Fiddler和Wireshark解密SSL加密流量

原文地址:http://kelvinh.github.io/blog/2014/01/12/decrypt-ssl-using-fiddler-and-wireshark/ Fiddler是一个著名的调试代理工具,它不仅能解析HTTP,而且还能解析加密的HTTPS流量.Wireshark则是一个非常强大的网络包监控以及协议分析工具. 在本文中,只考虑使用SSL来加密HTTP,所以并不严格区分SSL和HTTPS,虽然从广义上来讲,将二者混为一谈是非常不合理的 . 看到这里,大多数人都会很困惑:Fi

Android利用tcpdump和wireshark抓取网络数据包

主要介绍如何利用tcpdump抓取andorid手机上网络数据请求,利用Wireshark可以清晰的查看到网络请求的各个过程包括三次握手,但相对来说使用Fiddler进行网络数据抓包和展现更方便,优点包括: (1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂 (5) 可以查看https请求,建议使用Fillder,具体可见:利用Fiddler进行网络数据抓包. 1.下载并安装tcpdump

详解DHCP工作方法,并用wireshark对DHCP四个数据包抓包分析

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  ------------------------------------------------------------------------------

wireshark 网络数据包-ip地址转换的问题?非常规地址表示如何转换

问题描述 ip地址转换的问题?非常规地址表示如何转换 用wireshark抓包,STUN协议中包含的ip地址192.168.1.13,显示的是e1baa54f,求解192.168.1.13是如何从e1baa54f转换得来的?

wireshark 网络数据包-wireshark如何分析出本地登录过哪些网游

问题描述 wireshark如何分析出本地登录过哪些网游 现在有个需求,要监视本地登录过哪些网络游戏,我用wireshark抓包,请问对这些包怎样分析,可以分析出登录过什么游戏. 目前我只能看到不同的游戏端口号有区别而已,别的就不知道该怎么去区分了.请高手帮吗解答.谢谢~ 如果不行,有什么别的方法吗?

《精通Wireshark》—第1章1.4节通过Wireshark进行数据包分析

1.4 通过Wireshark进行数据包分析 数据包分析(也称为数据包嗅探或协议分析)的作用是抓取在网络(以太网或WiFi)传输中的数据包,并且对其中的信息进行解答的过程,其目的在于了解网络中正在发生的情况.数据包分析需要借助像Wireshark这样的协议分析软件来实现,这些软件可以在互联网上进行下载.其中有些软件是免费的,也有一些软件需要付费才能用于商业目的.在本书中,我们会使用Wireshark来进行网络分析.Wireshark是一款开源软件,同时也是互联网上最优秀的免费网络分析软件. 在当