whistle是基于Node实现的跨平台web调试代理工具。
不同于其他抓包工具(通过断点修改请求响应的方式),whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式。
常用命令:
- 安装:
npm install -g whistle
- 启动:
w2 start
- 停止:
w2 stop
- 重启:
w2 restart
官方文档:http://wproxy.org/whistle/
抓包步骤:
1、安装并启动whistle
C02Z84E5LVCF:~$ npm install -g whistle
w2 start⸨░░░░░░░░░░░░░░░░░░⸩ ⠧ rollbackFailedOptional: verb npm-session 98d26472/usr/local/bin/w2 -> /usr/local/lib/node_modules/whistle/bin/whistle.js
/usr/local/bin/wproxy -> /usr/local/lib/node_modules/whistle/bin/whistle.js
/usr/local/bin/whistle -> /usr/local/lib/node_modules/whistle/bin/whistle.js
+ whistle@2.5.17
added 145 packages from 134 contributors in 4.56s
C02Z84E5LVCF:~$ w2 start
[i] whistle@2.5.17 started
[i] 1. use your device to visit the following URL list, gets the IP of the URL you can access:
http://127.0.0.1:8899/
http://10.28.12.163:8899/
Note: If all the above URLs are unable to access, check the firewall settings
For help see https://github.com/avwo/whistle
[i] 2. configure your device to use whistle as its HTTP and HTTPS proxy on IP:8899
[i] 3. use Chrome to visit http://local.whistlejs.com/ to get started
C02Z84E5LVCF:~$
启动完成之后,在浏览器打开命令行提示的网址,例如 http://10.28.12.163:8899/
2、设置手机代理
将手机wifi与电脑保持一致,并设置手机网络代理为电脑的IP地址和网页端口。
本例ip为10.28.12.163
,端口为8899
3、安装证书
- 1、安装电脑端证书
在打开的网页里点击HTTPS
—>Download RootCA
会开始下载证书;
证书下载完之后,添加证书并信任。
- 2、安装手机端证书
在打开的网页里点击HTTPS
—>用手机浏览器扫描二维码
,会下载证书;
证书下载完之后,添加证书并信任。
4、配置代理规则
此时手机端的网络请求都可在whistle左侧的Network
下看到。
- 1、选择待配置的网络请求
选中一个目标网络请求,查看右侧面板的Inspectors
,查看Body
是否有内容。
有内容就代表有返回值,此时可以更改该请求的返回值。
- 2、配置规则
选中whistle左侧的Rules
,在Default
里配置需要拦截的规则。
如,将一个网络请求指定到本地资源:
http://loc.map.baidu.com/gpsz file:///Users/.../Documents/aaaaa.png
注意:前面是目标地址,后面是更改之后的返回资源,中间用空格分隔。
- 3、查看是否生效
设置完规则并保存,再回到Network
,再次触发之前的网络请求,会发现被规则触发(被触发之后请求会高亮显示)。
再次查看Inspectors
的Body
内容,会发现已经变更为本地内容。
暂无评论