wireshark抓取HTTP压缩包和SSL包

原创
2015/11/22 21:53
阅读数 3W

wireshark介绍

UPDATE: Android P之后已经无法抓到webview调用的的h5地址,包括charles proxy、fiddler,除非这个包本身配置了允许抓包。-2020.6.17
UPDATE:免费代码抓包工具fiddler
UPDATE: Charles 抓包工具获取HTTPS数据的方法

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

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

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

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

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

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

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

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

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

Charles在android N之后的系统里,已经不能抓app的包了,除非这些app你可以控制并添加配置信任文件,否则抓不到。

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

 

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 代理软件

 

展开阅读全文
打赏
0
17 收藏
分享
加载中
更多评论
打赏
0 评论
17 收藏
0
分享
返回顶部
顶部