简介
基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler、Mac的Charles,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能
| 工具 | whistle | charles |
|---|---|---|
| 安装 | 网页版(有升级版本nohost,可直接部署在服务器上,给同事分发账号) | 需要破解安装 |
| 拓展 | 拓展性更强,可支持安装各种插件来丰富他的功能 |
安装和启动
- 安装Node
- 安装whistle
- 启动whistle
- 配置代理
- 安装根证书
- 功能
一、安装node(whistle支持v0.10.0以上版本的Node)
我是用nvm来进行node管理
二、安装whistle
npm install -g whistle
whistle安装完成后,执行命令 whistle help 或 w2 help,查看whistle的帮助信息。如果能正常输出whistle的帮助信息,表示whistle已安装成功。

三、启动
w2 start
四、安装谷歌插件 Proxy SwitchyOmega
有vpn的可以直接从谷歌商店直接安装,没有vpn的可以从github上下载安装包,安装完以后进行ip和端口代理配置
五、证书信任
访问刚才whistle代理的地址
对证书进行信任
可以看到抓到的网络请求
六、功能
- 网络请求抓包
- 注入js代码 以vconsole为例
- 我以插件方式来集成vconsole,这样就不需要去github下载vconsole.js 再进行注入
- 在控制台
w2 i whistle.inspect安装inspect插件 - 在rules配置需要注入的地址
- 代理真机
- 手机需要安装证书并进行信任(手机通过访问
http://rootca.pro/或扫描上面图上的二维码进行证书下载),并对wifi网络进行代理
- 手机需要安装证书并进行信任(手机通过访问
- 通过Weinre进行真机代理调试
手机访问域名的应用
- 还可以进行网络转发、数据mock、将生产js、css等资源替换成本地文件(官网地址:wproxy.org/whistle/)