持续集成实施(十六)——Whistle抓包
最近需要抓包Axure软件发出的请求,之前一直使用的Charles
,挺稳定的一个工具,最近不知道抽什么风,然后一番搜索之后,发现了whistle
,简直神器,配置还非常简单,由于只在MAC
上有使用体验,就简单介绍一下。
1、安装Node
whistle支持v0.10.0以上版本的Node,为获取更好的性能,推荐安装最新版本的Node。
如果你的系统已经安装了v0.10.0以上版本的Node,可以忽略此步骤,直接进入安装whistle的步骤,否则:
访问https://nodejs.org/ ,安装LTS版本的Node,默认安装即可。
安装完Node后,执行下面命令,查看当前Node版本
|
|
如果能正常输出Node的版本号,表示Node已安装成功(Windows系统可能需要重新打开cmd)。
2. 安装whistle
Node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面加sudo,如:sudo npm install -g whistle)
|
|
whistle安装完成后,执行命令 whistle help 或 w2 help,查看whistle的帮助信息
$ w2 help
|
|
如果能正常输出whistle的帮助信息,表示whistle已安装成功。
3. 启动whistle
最新版本的whistle支持三种等价的命令whistle、w2、wproxy
启动whistle:
|
|
Note: 如果要防止其他人访问配置页面,可以在启动时加上登录用户名和密码 -n yourusername -w yourpassword。
重启whsitle:
|
|
停止whistle:
|
|
调试模式启动whistle(主要用于查看whistle的异常及插件开发):
|
|
启动完whistle后,最后一步需要配置代理。
4. 配置代理
配置信息
代理服务器:127.0.0.1(如果部署在远程服务器或虚拟机上,改成对应服务器或虚拟机的ip即可)
默认端口:8899(如果端口被占用,可以在启动是通过 -p 来指定新的端口,更多信息可以通过执行命令行 w2 help (v0.7.0及以上版本也可以使用w2 help) 查看)
勾选上 对所有协议均使用相同的代理服务器
代理配置方式(把上面配置信息配置上即可)
直接配置系统代理:
安装浏览器代理插件 (推荐)
安装Chrome代理插件: whistle-for-chrome
访问配置页面
启动whistle及配置完代理后,用Chrome浏览器(由于css兼容性问题界面只支持Chrome浏览器)访问配置页面,如果能正常打开页面,whistle安装启动完毕,可以开始使用。
可以通过以下两种方式来访问配置页面:
- 方式1:域名访问 http://local.whistlejs.com/
- 方式2:通过ip+端口来访问,形式如 http://whistleServerIP:whistlePort+1/ e.g. http://127.0.0.1:8900
Https
用来下载根证书、隐藏connect类型的请求、开启Https拦截功能。
5. Https
安装根证书
如上图下载完根证书后点击rootCA.crt文件,弹出根证书安装对话框。
开启拦截Https
图中的打开的对话框有两个checkbox:
- Hide HTTPS CONNECTs:隐藏connect类型的请求
- Intercept HTTPS CONNECTs:开启Https拦截功能,只有勾上这个checkbox及装好根证书,whistle才能看到HTTPS、Websocket的请求
最后效果如图所示: