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热点方式。