whistle in my eyes

whistle是一个跨平台的抓包与 web debug 工具,可以配置代理服务器,模拟接口数据,捕获请求重定向到指定 url,修改请求头响应头,修改 GET 请求的参数,往匹配的页面中注入 js、css

手机代理到whistle遇到的一些问题

电脑下载根证书,开启捕获HTTPS请求没有遇到什么问题,但是当手机代理到whistle时遇到了一系列问题,

首先,点击HTTPS弹出二维码时,两个选择都应该选中

在这里插入图片描述
whistle in my eyes_第1张图片

  1. 打开浏览器扫码或者直接打开链接出现http://rootca.pro网页无法打开的情况时,请查看手机Wi-Fi和电脑是否统一,即是否在同一局域网下,还有手机中该局域网是否配置好代理(服务器/主机名,端口)以及是否正确(因为切网后,主机名会发生变化)
  2. 如果同一局域网还是无法访问的情况,或者访问后下载RootCA进度一直为0时,可以双击whistle页面弹出的二维码,下载至本地并传至手机后手动下载;
  3. ios下,老一点的机子按照指引信任证书即可,新一点的还需要在设置-> 通用->关于本机(的末尾)-> 证书信任设置再手动信任一遍才行

常用操作

安装,PC下配置浏览器代理,下载根证书,手机代理直接照官网操作即可

  1. 常用命令:
# 启动
w2 start
# 停止
w2 stop
# 重启
w2 restart
  1. 常用配置
  • 配host——为某个域名或具体的 url 指定 ip,绕过 dns 解析,这样可以一套代码访问不同的环境
# 域名 operatorURI / operatorURI 域名
eg: xxx.com 127.0.0.1:8000 
  • 替换线上文件——直接替换js文件到本地进行调试
# 线上文件 本地文件地址
eg: https://eg/eg.html .../eg.html
# 常用的是代理html和静态资源的情况
/^https?://no\.pp\.com/(.*\.(js|css|png|jpg|gif|jpeg|svg|blob).*)$/ .../dev/$1

/^https?://no\.pp\.com/.../([\w\-]*).html(.*)$/ .../dev/$1.html
  • 通配符匹配与正则匹配

很多情况下直接进行匹配的情况外,还会遇到通配符匹配和正则匹配的情况

正则匹配的情况下,需要特别注意的是最多支持10个子匹配( $0…9),其中$0表示整个请求url,其它跟正则的子匹配一样

通配符匹配时,匹配模式必须以 ^ 开头,结束位置用$(如需限制),* 为通配符,详细可以参看https://wproxy.org/whistle/pattern.html

  • 修改返回(即将请求的返回值替换为本地json文件)
# 请求 本地json文件 (可以加突出的样式,在抓包验证时会非常好辨识)
/no.pp.com/.../getSomething/ file://{something.json} style://color=@fff&fontStyle=italic&bgColor=@fc8c03

本地文件可以放在 whistle 自带的 Values 里,修改添加非常方便

whistle in my eyes_第2张图片

如果仅仅是想修改请求返回的一些值,可以在network下:

Whistle->network->clear

Whistle->network->找到命中的地址->inspectors->preview->copy

whistle in my eyes_第3张图片

Whistle->values->对应的json文件中粘贴修改保存完事

  • 修改header,可能有时候需要修改 Cookie、user-agent、Content-Type来模拟一些情况
xxx.com reqHeaders://{someUserAgent}
xxx.com resHeaders://{someHeader}

花括号中的文件同样可以values中添加喔

修改状态码——指定某个接口返回特定的状态,检测代码容错能力

xxx.com/test statusCode://500

最后附上官网地址:https://wproxy.org/whistle/

你可能感兴趣的:(whistle)