whistle常见使用场景

1.捕获网络数据包

在浏览器或者手机端按照上一篇文件进行配置并下载好证书(whistle 抓包工具的安装与使用),然后进行网络请求相关操作,在PC端whistle配置页面中可以看到对应的请求如下图:

2.过滤接口

匹配公式:h:(请求响应头)、s:(响应状态码)、i:(ClientIP 及 ServerIP)、m:(请求方法)、b:(请求响应内容),其它表示匹配 url(以上匹配都不区分大小写);并且支持取反操作,在关键词前加上!,表示会保留不匹配的请求


Network Columns:主要用于设置 Network 表头,或者拖拽重排等

3.接口重发

一般我们抓到一个有问题的请求,如果要复现就需要保存请求参数和请求头用postman重新构造一次或者页面刷新,比较麻烦,现在可以直接在whistle对请求进行重试
选择指定接口,右键-选择Action–>Replay

然后就可以看到新增了一条请求

4.更改部分参数并重发

如果我们需要修改部分参数,然后再重发,步骤如下:
右键请求,然后选择 Action -> Compose

或者,直接把请求拖到右边的控制台

然后就能在右边控制台看到对应的请求信息,就可以对请求 进行各种编辑了,然后再发送

5.模拟接口返回值

Rules写法:
pattern(匹配模式) operatorURI(操作uri)#默认是将匹配模式写在左边,操作uri写在右边
当有请求经过whistle,whistle 将请求url与pattern匹配,如果匹配到就执行operatorURI对应的操作,转发或者修改请求内容

Rlues 说明 写法
pattern(匹配模式) whistle的匹配模式大体可以分成 域名、路径、正则、精确匹配、通配符匹配,其中 正则匹配、精确匹配、通配符匹配支持取非,即 !pattern,表示不匹配 pattern 关键字符;^(通配路径表示符)、$(精确匹配)、*(通配符)、!(取非)

域名匹配(不仅支持匹配某个域名,也可以限定端口号、协议)
举例:
www.test.com operatorURI #匹配域名www.test.com下的所有请求,包括http、https、ws、wss,tunnel
https://www.test.com operatorURI #匹配域名www.test.com下的所有https请求
www.test.com:8888 operatorURI #匹配域名www.test.com 8888端口下的所有请求
路径匹配(指定匹配某个路径,也可以限定端口号、协议(http、https、ws、wss)等等)
举例:
www.test.com/xxx operatorURI #匹配指定路径下的所有请求
http://www.test.com/xxx operatorURI #限定请求协议,只能匹配http请求
http://www.test.com:8080/xxx operatorURI #限定请求协议和端口号,只能匹配http协议和8080端口的请求
正则匹配(正则的语法及写法跟js的正则表达式一致,支持两种模式:/reg/、/reg/i 忽略大小写,支持子匹配)且可以通过正则的子匹配把请求url里面的部分字符串传给operatorURI,pattern和operatorURI位置可以调换
举例:
* operatorURI #匹配所有请求
/keyword/i operatorURI #匹配url里面包含摸个关键字的请求,且忽略大小写
精确匹配(与上面的路径匹配不同,路径匹配不仅匹配对应的路径,而且还会匹配该路径下面的子路径,而精确匹配只能指定的路径,只要在路径前面加即可变成精确匹配),类似即可变成精确匹配),类似即可变成精确匹配),类似url operatorURI,pattern和operatorURI位置可以调换
举例:
$http://www.test.com operatorURI #只能匹配到http://www.test.com/ (/浏览器会自动转),http://www.test.com/xxx是无法匹配到的
通配符匹配:包含通配符匹配,通配域名匹配、通配路径匹配
匹配模式必须以 ^ 开头(如果需要限制结束位置可以用 $),* 为通配符,支持通过$0…9获取通配符匹配的字符串,其中$0表示整个请求url
举例:
以 ^ 开头
^www.example.com/test/*** referer://http://www.test.com/$1
限定结束位置
^www.example.com/test/***test$ referer://http://www.test.com/$1
如果请求url为 https://www.example.com/test/abc?123test,这第一个配置里的 $1 = abc?123&test,第二个配置里的 $1 = abc?123,而 https://www.example.com/test/abc?123test2 只能匹配第一个

operatorURI(操作uri)

这里介绍几个常用的
reqHeaders:修改请求头
举例:
www.ifeng.com reqHeaders://{test-reqHeaders.json}
resHeaders:修改响应头
举例:
www.ifeng.com resHeaders://{test-resHeaders.json}
reqBody:把指定的内容替换请求内容(GET等请求没有内容没有替换一说)
举例:
www.ifeng.com method://post reqBody://{test-reqBody.html}
resBody:把指定的内容替换响应内容(304等响应没有内容无法替换)
举例:
www.ifeng.com resBody://{test-resBody.html}
statusCode:设置响应状态码(状态码范围100~999),请求会直接根据设置的状态码返回
举例:
www.ifeng.com statusCode://500
更多操作参考官网:http://wproxy.org/whistle/rules/rule/replace.html

1、直接写在规则中
比如直接返回一个 json,懒得新建文件
举例:www.test.com/get_list resBody://({msg:"dddd"})
2.放在 whistle 左侧菜单的 Values 或者 本地文件
举例:
www.test.com/get_list resBody://{test.json} #test.json放在 whistle 左侧菜单的 Values
www.test.com/get_list resBody://C:\\Users\\Desktop\\test.json #test.json放在本地
3、内联在规则中
返回的内容有点多,但又不是很多多,不想新建文件和写在 value,那么就直接内联在规则集吧
www.test.com/get_list resBody://{test.json}

```test.json
{
msg:“1111”
}

我们给请求配置规则后,怎么确定它到底有没有匹配上
可以看 whisle 界面 左侧 Network 菜单点击你的请求,可以在右边的面板中看到请求匹配的规则(同时在请求列表中匹配到规则的会有特殊颜色标识)
如果匹配的规则没有成功,说明你的规则无效…

whistle工具常用功能相关推荐

  1. Charles工具常用功能

    背景:Charles工具常用功能使用 前提条件:使用抓包功能确保手机和电脑处于同一个局域网 http抓包: 忽略(和抓取https步骤重复,忽略..) https协议抓包(操作以Charles 4.5 ...

  2. 【Android 内存优化】Android Profiler 工具常用功能 ( 监测内存 | 内存快照 )

    文章目录 一. 内存泄漏排查 ( Android Profiler 工具 ) 二. Android Profiler 内存监测相关功能 三.内存快照分析 内存泄漏原理 : 长生命周期对象 , 持有短生 ...

  3. 程序猿二三事之工具使用-Eclipse调试Java常用功能介绍

    [ TOC ] 调试常用功能介绍 日常java开发中实际写代码的时间并不会很多,花在整理思路,代码重构,调试bug会占用很大部分时间. 熟练掌握调试工具,了解调试相关技巧,是java开发中减少调试时间 ...

  4. 基于 Openlayers 实现的地图常用功能工具集合

    基于 Openlayers 实现的地图常用功能工具集合 地图工具介绍 使用示例 在项目开发中,经常会需要使用一些坐标做测试,或者手动标绘点线面,或者坐标转换等. 使用代码当然是可以做到的,但是有时候懒 ...

  5. Photoshop抠图、污点处理等常用功能及快捷键

    Photoshop抠图.污点处理等常用功能及快捷键 局部图片获取 图片污点修护 各种乱七八糟的常用东西 常用快捷键 常用功能的查看与设置 局部图片获取 a.钢笔工具创建路径后改为选区 b.选区工具3连 ...

  6. [转]WebPack 常用功能介绍

    概述 Webpack是一款用户打包前端模块的工具.主要是用来打包在浏览器端使用的javascript的.同时也能转换.捆绑.打包其他的静态资源,包括css.image.font file.templa ...

  7. OOnbsp;ALV常用功能完整简例(热键单击…

    OO ALV 常用功能简介 目录 OO ALV 常用功能简介... 1 一.所用类:... 2 二.效果图:... 2 单击... 2 双击... 2 F4帮助... 3 编辑某单元格并校验... 3 ...

  8. 从零开始学习jQuery (十) jQueryUI常用功能实战

    本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...

  9. (Java集合框架)集合框架概述和Collection常用功能及遍历

    文章目录 集合概述 集合框架 Collection 常用功能 代码演示 集合遍历 Iterator接口 迭代器的实现原理 增强for 代码演示 集合概述 集合:集合是java中提供的一种容器,可以用来 ...

最新文章

  1. 白话Elasticsearch36-深入聚合数据分析之案例实战Histogram Aggregation:按价格区间统计电视销量和销售额
  2. @TableLogic注解表示逻辑删除
  3. java console 到文件
  4. 5G进入爬坡期,这个关键因素,决定了它的成败……
  5. FreeRTOS协程
  6. [Ansys Workbench] 模型网格划分练习
  7. 乔布斯18岁求职信拍卖价22.24万美元,值吗?
  8. mysql tar.gz_记centos 安装 mysql5.7.23.tar.gz教程
  9. CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers
  10. ios和linux共享的笔记软件,超好用!5款完全免费、支持全平台的笔记软件
  11. windows server 2008 web服务器搭建
  12. tensorflow常用函数
  13. Arduino之读取温度传感器并串口显示
  14. python实现Dice系数
  15. 面试题:微信聊天窗口发送好友200以内字符消息设计测试用例
  16. python 统计哈姆雷特词汇频率
  17. listbox java_如何将所选项从一个listBox添加到另一个listBox
  18. 大学计算机专业绩点在3.5算好,大学平均绩点3.5算差吗 平均绩点多少算高
  19. 如何拿到牛逼公司的面试邀请?
  20. 百度网盘自动发货机器人软件助手(可用于虚拟店自动发货场景)

热门文章

  1. Robust Pre-Training by Adversarial Contrastive Learning
  2. mysql之日志时间统计---每类日志时间间隔(间隔超过多少分钟统计出来)
  3. 区块链与实体产业相结合加速推进数字经济智能化发展
  4. wifi智能营销 wifi广告路由器
  5. “贵系万花筒”:探秘清华计算机系背后的“酒井”文化
  6. 前端使用setInterval定时器,使用clearInterval()清除时,清楚不彻底的原因。
  7. 易语言多线程大漠多线程模板脚本延时
  8. html点击文字显示图片
  9. 互联网时代股权设计的全新颠覆!
  10. Tomat 8005端口安全问题