wireshark抓取HTTP压缩包和SSL包

wireshark介绍

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

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

wireshark抓取HTTP压缩包和SSL包_第1张图片

gzip压缩包的抓取

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

wireshark抓取HTTP压缩包和SSL包_第2张图片

2.0新版本已经可以直接支持gzip解压缩:

wireshark抓取HTTP压缩包和SSL包_第3张图片


抓取SSL数据包

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

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

touch ~/Documents/sslkeylogout.log

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

打开参数配置preference选项:

wireshark抓取HTTP压缩包和SSL包_第4张图片wireshark抓取HTTP压缩包和SSL包_第5张图片

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抓包了,抓包后结果如下图:

wireshark抓取HTTP压缩包和SSL包_第6张图片

可以看到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/


你可能感兴趣的:(wireshark,抓包)