wireshark抓取HTTP压缩包和SSL包

wireshark介绍

UPDATE:免费代码抓包工具fiddler
UPDATE: Charles 抓包工具获取HTTPS数据的方法

Charles的抓包配置好像更简单,仍是介绍一个配置的方法吧,配置步骤(环境苹果电脑+iPhone):linux

一、下载软件 https://www.charlesproxy.com/download/windows

二、打开软件,找到菜单 Help-SSL Proxying-Install Charles Root Certification,安装Root证书,打开keychain.app,在 证书 目录下搜索charles,双击打开,点开信任,选择 始终信任浏览器

三、再找到菜单 Proxy-SSL Proxying Setting-勾上Enable SSL Proxying,添加要抓包网站的域名(支付*通配符)网络

四、在手机上访问网址 https://chls.pro/ssl,会提示安装描述文件,安装session

五、在手机上打开设置-通用-描述文件,找到charles的描述文件,安装证书app

六、在手机上打开设置-关于本机-证书信任设置,找到刚才安装的charles证书,打开信任工具

七、在手机上打开设置-无线局域网,找到代理,手工配置,输入电脑的ip和charles运行的代理端口网站

八、手机上访问欲抓包网址,一切正常的话,数据包会正常解析出明文spa

 

===============分割线,下面是wireshark工具的配置和使用===============.net

 

wireshark是一款跨平台网络协议分析工具,一般用来抓取网络数据包,如http通信,支持window,linux,mac os x等。

下载最新版本 https://www.wireshark.org/。最新版本是2.0,用QT重写了,在mac os x不须要安装quartz了。

gzip压缩包的抓取

最新版已经支持gzip压缩包的抽取了,若是是旧版本能够导出数据包,会自动解压缩。以下图:

2.0新版本已经能够直接支持gzip解压缩:

 

抓取SSL数据包

基本的原理就是使用保存ssl 的会话密钥用来解密。

建立一个会话密钥保存的空文件:

touch ~/Documents/sslkeylogout.log

而后在wireshark配置ssl会话密钥文件所在位置:

打开参数配置preference选项:

mac os x 和linux类系统 在终端下执行:

 export SSLKEYLOGFILE=~/Documents/sslkeylogout.log && open /Applications/Google\ Chrome.app && open /Applications/Wireshark.app

若是是windows系统,添加系统环境变量,保证一个空文件存在 c:\sslkeylogout.log 

SSLKEYLOGFILE=c:\sslkeylogout.log

直接打开浏览器和wireshark便可,不须要在dos下运行。

 

在打开的浏览器访问https://www.baidu.com,能够看到sslkeylogout.log有新增内容,如:

CLIENT_RANDOM c92a80cc16d76bfd5dd8f789348721d21f5f40a6eb705d3d4a163b466d05ea1e 2cdfabb383a868c122b8d5f0f384d18404e68f841fb395caea6e0b77f24d96591869e7ba2d5a7efb4f3a8660f7c59ff8
CLIENT_RANDOM 166a923c6f3e2b594d752b70b85abdb844a6bee674d3255c42ac5abcb55fddec b107da066ce55b128622aab940a3ba0e662643d926bede5d8cf8e22ba7157eda0087e3c279c04ca0ee71a22ff02f6998
CLIENT_RANDOM 99ebd6cf44387cf5bf08cc4821b35b6bc946e2b4ec8250543aa85ad3edcae438 86641b5c10e0afb54fc21fc64dc742a87ad6039e03ef80a33a963e9cd09624b64c621c9ede5839db84d161c32c72a804

代表ssl交换密钥保存成功,能够进行下一步,wireshare抓包了,抓包后结果以下图:

能够看到ssl数据包已经自动解析并解压了,很是方便。

总结

wireshark 2.0版本在mac os x下已经比较方便使用了,不须要安装linux兼容软件。结合ssl session key,能够实现https类网站数据的抓取。

结合代理软件,亦可方便实现手机软件的通信数据包抓取。具体wifi热点设置可参考网上其它文章,如,windows能够用软件connecty,mac os x能够接上网线后在「系统偏好设置」-【共享】里分享成wifi热点方式。

 

参考

https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/

https://www.charlesproxy.com/latest-release/download.do 代理软件

相关文章
相关标签/搜索