Whistle使用教程
-
介绍
- whistle 官网
- whistle github
- whistle主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器,功能很强大。
-
安装教程
-
简略步骤:
// 全局安装whistle npm install -g whistle // 安装whistle的inspect插件,用于在网页中注入vConsole调试工具,方便调试手机上的H5页面 npm i -g whistle.inspect
-
常用命令:
w2 start // 启动
w2 stop // 关闭
whistle启动后,即可在浏览器内访问whistle页面:http://127.0.0.1:8899
-
浏览器设置
- 下载 Chrome 代理插件:推荐安装 SwitchyOmega。
- 在switchyomega创建一个名为whistle的情景模式,选择“代理服务器”类型-填入服务器ip(127.0.0.1)和代理端口(whistle的运行端口),保存并应用该情景模式
-
安装证书
-
官方安装证书教程:安装根证书(含windows、mac、手机端)
一般PC端抓https包只需要按照上面的教程即可,而移动端(Android、iOS)抓https包可能还需要进行以下步骤:
a、把手机的代理到你的电脑(具体步骤上面的文档里有)
b、用手机浏览器访问http://rootca.pro/去下载whistle的根证书,如果证书能成功下载,则按照上面的教程安装证书即可抓https包,以下的步骤就不用看了。如果证书无法下载,进行下一步
c、如果是windows系统,先进入系统设置 - 网络 - Windows防火墙 - 高级设置,在入站规则里把Node.js:开头的规则都允许连接,确定保存之后,再用手机扫访问http://rootca.pro/去下载whistle的根证书,如果可以下载证书则表示已经成功。否则再按照该教程开放本机的whistle运行的端口8899,允许局域网访问操作(教程里端口是2000,记得改成whistle的端口8899),如果没有管理员权限,则需要找8000申请一个临时管理员账号操作
完成以上操作,PC、移动端就可以抓包了
d、如果是Mac系统,设置以下代理:https://wproxy.org/whistle/install.html,在页面中搜索Mac: System Preferences > Network > Advanced > Proxies > HTTP or HTTPS,快速定位到具体地方。
-
-
必备设置
-
Network面板,各种域名的请求太多太杂,可按照域名过滤;显示每个请求的发起时间等。
-
Rules面板的设置
-
-
-
其他
-
whistle的核心技巧就是使用各式各样的rule和plugin,要更好的使用rule则需要了解rule的匹配模式和whistle内置的协议规则
-
更多请看whistle的官方文档,很详细:whistle 官网
常用章节
-
快速查找指定请求
-
-
-
Host配置
# host配置
10.9.11.20 *.test.com *.juejin.com
# 代理本地端口
aa.test.com 127.0.0.1:10081
# 本地文件代理
https://m.test.com/res/js/aa.js C:\xx\aa.js
# 跨域配置 `*`表示:access-control-allow-origin: * reqCors 修改请求的 CORS。resCors 修改返回的 CORS
*.test.com resCors://*
# ignore忽略指定规则 比如:CDN图片直接走线上
ignore://* img.test.com /aa/bb.json/i /other/test.json/i
# 匹配pattern的同时不能为post请求且请求头里面的cookie字段必须包含test(忽略大小写)、url里面必须包含 cgi-bin 的请求
# 即:过滤掉匹配filter里面的请求
pattern excludeFilter://m:post includeFilter://h:cookie=test includeFilter:///cgi-bin/i
``