Whistle抓包详细使用教程

Whistle使用教程

  1. 介绍

    • whistle 官网
    • whistle github
    • whistle主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器,功能很强大。
  2. 安装教程

    • 官方安装文档

    • 简略步骤:

      // 全局安装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

  3. 浏览器设置

    • 下载 Chrome 代理插件:推荐安装 SwitchyOmega。
    • 在switchyomega创建一个名为whistle的情景模式,选择“代理服务器”类型-填入服务器ip(127.0.0.1)和代理端口(whistle的运行端口),保存并应用该情景模式
      Whistle抓包详细使用教程_第1张图片
  4. 安装证书

    • 官方安装证书教程:安装根证书(含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、移动端就可以抓包了
      Whistle抓包详细使用教程_第2张图片Whistle抓包详细使用教程_第3张图片

      d、如果是Mac系统,设置以下代理:https://wproxy.org/whistle/install.html,在页面中搜索Mac: System Preferences > Network > Advanced > Proxies > HTTP or HTTPS,快速定位到具体地方。
      Whistle抓包详细使用教程_第4张图片

  5. 必备设置

    • Network面板,各种域名的请求太多太杂,可按照域名过滤;显示每个请求的发起时间等。
      Whistle抓包详细使用教程_第5张图片

    • Rules面板的设置
      -Whistle抓包详细使用教程_第6张图片

  6. 其他

    • whistle的核心技巧就是使用各式各样的rule和plugin,要更好的使用rule则需要了解rule的匹配模式和whistle内置的协议规则

      whistle官方支持的plugin集合

    • 更多请看whistle的官方文档,很详细:whistle 官网

      常用章节

      • 快速上手
      • 匹配模式
      • 界面功能
      • 协议规则
    • 快速查找指定请求

    -Whistle抓包详细使用教程_第7张图片

  7. 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
   ``

你可能感兴趣的:(调试,whistle,抓包,chrome)