whistle

本文共--字 阅读约--分钟 | 浏览: -- Last Updated: 2022-07-07

安装

# 基于node安装
npm i -g whistle

# 检查安装是否成功
whistle help

常用命令

# 启动
w2 start

# 重启
w2 restart

# 停止
w2 stop

# 默认端口8899 可以自定义端口
w2 start -p 8897

系统配置

1、直接配置window系统代理

控制面板 -> Internet选项 -> Internet属性 -> 连接 -> 局域网设置 -> 局域网(LAN) 设置 -> 勾选“为LAN使用代理服务器” -> 点击高级按钮 -> 设置服务器地址和端口 -> 127.0.0.1:8899

2、直接配置Mac系统代理

设置 -> 网络 -> 高级 -> 代理 -> 选中 HTTP 和 HTTPS -> 填写网页代理服务器地址和端口 -> 127.0.0.1:8899

3、配置浏览器代理

  • 安装Proxy SwitchyOmega插件 -> 左键选中选项开发配页 -> 新建情景模式 -> 输入名称 whistle -> 创建

  • 配置这个情景模式下的代理服务器,第一行默认的代理协议选为HTTP,代理服务器则改成 127.0.0.1,端口改为8899,然后点击应用选项。

  • 点击chrome上对应的SwitchyOmega的扩展图标,选中刚刚建立的whistle情景模式,然后在浏览器输入进行访问,看是否能在whistle界面(指127.0.0.1:8899这个端口启动的web服务)捕获到

手机抓包

将电脑和手机连在同一个局域网上,可以在whistle界面右上角 online 查看相关信息,然后手机设置wifi代理。

点击whistle界面下的HTTPS,然后点击Download RootCA 下载证书到电脑

Mac: 双击下载下来的证书文件进行安装,然后进行手动信任证书,找到证书(登录或者系统下面),右键显示简介,改为始终信任。 Windows:直接双击根据引导安装即可

手机证书安装:连接代理,iOS需要暂时关闭whistle的HTTPS拦截功能,因为ios安装证书要去远程服务器验证,在Safari中输入rootca.pro按提示安装证书,然后在关于本机 -> 证书信任设置 -> 进行手动开启证书信任

使用whistle配置

  • Network: 抓包信息,各种请求相应详情

    • 下面的filter输入框可以用来过滤抓到的包
      • 根据url过滤:直接写url
      • 根据头部过滤: h:具体头部
      • 根据协议过滤: p:具体协议
      • 根据ip过滤:i:具体ip地址
      • 根据方法过滤: m:具体method
      • 根据状态码过滤: s:具体状态码
  • Rules: 打开规则列表,配置代理转发相关信息

    • 模拟服务器异常: http://10.0.0.1/api/getUser statusCode://502
    • 模拟网络不稳定: http://10.0.0.1/api/getUser reqDelay://10000
    • 模拟网络网速:http://10.0.0.1/api/getUser resSpeed://1000
    • 模拟响应状态码:http://10.0.0.1/api/getUser replaceStatus://-60001
    • 模拟文件模拟:http://10.0.0.1/api/getUser file://{data.json},这个json需要在Values中建立
    • 如果模拟出现跨域问题,可以加一个 http://10.0.0.1/api/getUser resCors://*
    • 转发代理:http://abc.a.com/api/getUser http://10.8.7.5:3000/api/getUser
    • 捕获页面打印信息:http://10.0.0.1/api/getUser log://,然后再Network界面下,右侧Tools下面的All logs查看
  • Values: 内置的key-value管理