whistle的使用【前端抓包】

news2025/1/18 10:09:48

前言

抓包工具看起来只是测试要用的东西,其实对前端作用也很多,因为我们也要模拟请求、mock数据、调试。站在巨人肩膀上永远不亏!

whistle能解决的痛点

一、看请求不方便

  1. 跳页、支付时候上一页的请求结果看不到,
  2. h5、小程序newWork不能在电脑上查看

二、调试不方便

  1. 后端要求点保存要先后调几个接口,你要调试某个请求失败了的情况,正常需要改代码故意破坏该接口来模拟出错情况——改代码+等待编
  2. 你想调整页面某个接口返回数据,一搜该接口七八个组件用到,想写死数据还得找到对应是哪个组件,而且死数据又长又臭——心态炸
  3. 一个长表单页面填完点保存,前端报错——改完bug又要重新填表单

三、本地/线上数据不同

比如test、local分支。代码一样,只是网关不同——>数据不同

测试说测试环境这条数据异常前端看看。本地开发环境又没数据,正常你得改网关重新编译,或切分支改完了储藏更改再同步到local【重新编译了2遍】

Whistle简介

Whistle 是基于 Node 实现的跨平台抓包调试工具,其主要特点:

  1. 完全跨平台:支持 Mac、Windows 等桌面系统,且支持服务端等命令行系统

  2. 功能强大(理论上可以对请求做任意修改):
    支持作为 HTTP、HTTPS、SOCKS 代理及反向代理
    支持抓包及修改 HTTP、HTTPS、HTTP2、WebSocket、TCP 请求
    支持重放及构造 HTTP、HTTPS、HTTP2、WebSocket、TCP 请求
    支持设置上游代理、PAC 脚本、Hosts、延迟(限速)请求响应等
    支持查看远程页面的 console 日志及 DOM 节点
    支持用 Node 开发插件扩展功能,也可以作为独立 npm 包引用

  3. 操作简单:
    直接通过浏览器查看抓包、修改请求
    所有修改操作都可以通过配置方式实现(类似系统 Hosts),并支持分组管理
    项目可以自带代理规则配置并一键设置到本地 Whistle 代理,也可以通过定制插件简化操作

  4. github

  5. 中文文档

基本原理

在这里插入图片描述

插个题外话:正向代理 & 反向代理

正向:例如”科学上网“,我(代理服务器)只对客户端负责。服务器不知道被谁调用了。

维基百科原话:正向代理是客户端和其他所有服务器(重点:所有)的代理者

反向:对目标服务器和客户端负责。也就是至少要设置两方参数:客户端和目标服务器。whistle就是反向代理。

whistle使用

  1. npm i whistle -g

  2. w2 start 控制台会出现一个网址打开就是whistle界面

  3. 配置代理
    ![xxx](
https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/微信截图_20230106142650eae394dba6ed40c781cabea6e1c4f0c3.png)

  4. 访问你的whistle页面【长这样子】
    在这里插入图片描述

修改一个接口的返回

操作你的页面,whistle会抓到你的请求,你配置rule修改了接口的返回
https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/WPS图片(1)c28b28a8596f4393905911e1c2935cf4.png)

也可以采用内联的方式设置返回 【还是蛮方便的】
xxx

修改一个接口的入参

两种方式,比较推荐第二种。但是这些方式并不能影响页面,因为接口不是页面发起的,结果自然返回不到页面去。

  1. 第一步的+key操作也可以用在上一节中,作用就是快速复制该结果并快速创建values和给values的key赋值为mockparam。

在这里插入图片描述

ko痛点三:网关—数据不同

配置rules即可
在这里插入图片描述

注意:抓包界面能看到接口是否代理成功,但浏览器界面只能看到rep代理结果,req请求url还是旧的
在这里插入图片描述

配置手机代理

整体步骤:
1、改wifi代理
2、下载安装证书
3、信任证书(区别是ios只多这一步)
4、访问你的h5、小程序

ios手机配置代理的可以看这https://blog.csdn.net/qq_44859233/article/details/123834624

成功更改返回数据
在这里插入图片描述

谷歌、其他浏览器配置代理

懒,找度娘吧,先实现上面吧,剩下就简单了。动起来。

打码好累,对内对外输出两份

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Raki的读paper小记:Continual Learning of Natural Language Processing Tasks: A Survey

第一次写综述的小记,也将是我读完的第一篇综述( 最开始因为可乐老师的原因,接触到了持续学习,然后从一开始的音频到自己读了一些ICLR的paper找idea做NLP的持续学习,然后做了自己第一个粗糙的工作,在杰哥的…

Hadoop高手之路9-Azkaban工作流管理器

文章目录Hadoop高手之路9-Azkaban工作流管理器一、工作流概述1. 工作流简介2. 常见的工作流调度工具1) Azkaban2) Oozie二、Azkaban简介1. Azkaban组成结构2. Azkaban的部署模式1) solo-server mode(独立服务器模式)2) two server mode(双服务…

8Manage SRM:使用采购管理软件进入现代化模式

在企业运营发展中,采购组织一直是一个非常重要的部门,它会直接影响企业的采购成本效益。在采购活动中,如果采用传统线下的采购方式,容易导致采购信息不集中,效率低,出错率高,最终损害企业的利益…

社区发现系列02-算法介绍

hello, 大家好,欢迎来到阿君聊风控,我是阿君(一名有7年互金和电商风控经验的算法工程师)。在上篇文章https://blog.csdn.net/u010569893/article/details/128565829?spm1001.2014.3001.5502 中我们了解到可以用社区发现技术来对图…

全面兼容各端的动画库PAG,对标Lottie

感谢Tencent 开源了PAG库,终于有了国人自己的动画库了,该库兼容:移动端,桌面端,,WEB端,还有小程序端,真可谓用心了,而且PAG库相对其他库,使用的pag文件更小&a…

《UEFI内核导读》SecCore与PeiCore简介(I)

敬请关注:“固件C字营 SecCore也被称之为VTF,被映射到Boot Firmware Volume (BFV),BFV的地址被放置在0xFFFFFFE0连续的4个字节(小端模式)。 SecCore 是一个FFS firmware file,其文件末端地址与于BFV的末端…

磨金石教育摄影技能干货分享|摄影拼贴技法的运用与效果

河南省-黄阳惠智-《那是山吗》画面中是一片群山景象。我们看上去感觉像是画出来的,又像是电脑做的图。其实这是摄影师用了中国山水画的特有表现手法,对桂林山水的景象,进行了拼贴在创造。作者用一些非山非水的现代物品,像织女一样…

【记录一】gis理论

gis地图相关一、gis 理论知识二、fianlshell连接服务器连接服务器命令行记录三、geoserver地图服务器初识geoserver添加新图层最近图层样式修改图层样式新增编辑图层的样式四、git上传代码查看远程地址上传代码时新建tag一、gis 理论知识 二、fianlshell连接服务器 连接服务器…

【小知识点】免费头像API,用 Python Flask 动态生成一个汉字头像

本案例是 爬虫训练场 项目的衍生案例,用于渲染用户头像,大家也可以将该接口用于其它目的。 本文会使用随机汉字生成技术,如未掌握,可以查看 Python 随机生成一个汉字 文章目录基础环境配置加载本地 txt 文件,用于随机生…

打包安卓apk后的V1和V2签名

前言:打包apk后上架之前需要进行加固,加固后生成的apk文件需要进行重新签名;单独的apk文件可以使用基于JDK(需要安装java jdk)和SDK(需要下载android studio 开发工具)的命令进行手动签名。安装…

【Maven】核心概念

Maven的核心概念一、Maven工程中约定的目录结构二、仓库管理🎶仓库的概述🎶仓库的分类本地仓库所在位置的设置重写更改本地仓库路径,不使用默认路径有什么好处呢?🎶Maven对仓库的使用三、POM工程的唯一标识依赖&#x…

数据结构与算法:泛型初学习

1.包装类 java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型&…

【服务器数据恢复】Raid5丢失一块盘被重建的数据恢复案例

服务器数据恢复环境: 一台服务器上5块硬盘组建raid5磁盘阵列,用于存储公司数据,无备份。 服务器故障&分析: 服务器上一块硬盘故障掉线,用户聘请一家运维公司对服务器进行维护,运维公司技术人员在没有了…

redis 基础

Redis学习笔记配置文件启动redis与redis进行交互redis命令Redis通用命令keys 查看所有符合模板的keytype 查看这个key的存储类型![在这里插入图片描述](https://img-blog.csdnimg.cn/175e3a5c1b064ce09b9b47cc1c7b34f9.png)del 删除一个keyexists 判断一个Key是否存在ttl 查看一…

HummerRisk V0.8.0:新增金山云、K8s基准检测、源IP审计分析等

HummerRisk V0.8.0发布:多云检测支持金山云、K8s检测新增CIS Benchmark 功能 、操作审计增加源 IP 分析功能、主机检测增加Linux 检测规则。同时优化 operator及Benchmark 的自动/手动安装,优化多个结果展示页面等。 感谢社区中小伙伴们的反馈&#xff…

整型常量不同进制间的相互转换

整型常量可以分别用二进制、八进制、十进制和十六进制表示,不同的进制并不影响数据本身的大小,同一个整型常量可以在不同进制之间转换,具体转换方式如下。 1.十进制和二进制之间的转换 (1)十进制转二进制 十进制转换成二进制就是一个除以2…

实验用试剂mPEG-PDLLA介绍;甲氧基聚乙二醇-聚DL-丙交酯 嵌段共聚物

PLA-MPEG、peg-pla、mPEG-PDLLA 甲氧基聚乙二醇-聚乳酸、甲氧基聚乙二醇-聚DL-丙交酯 结构式: 【详情】 化学式:CH3(C2H4O)m (C6H10O2)n 溶剂:氯仿、二氯甲烷、丙酮、DMF、DMSO等有机溶剂。 性状:半固体或固体&a…

【C++核心编程】C++全栈体系(八)

C核心编程 第四章 类和对象 C面向对象的三大特性为:封装、继承、多态 C认为万事万物都皆为对象,对象上有其属性和行为 例如: ​ 人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌… …

数据采集网关对接MySQL数据库

数据采集网关嵌入式 ARM 控制器 BL301/BL302支持 MySQL、InfluDB、SQLite 等数据库。Mysql 支持 5.1.51~5.1.73 版本。 将编译好的文件拷贝到 BL302 的/usr/local/mysql 目录下,将里面的可执行文件复制 到/usr/sbin 目录下或者在设备上设置环境变量 export PATH&quo…

Mentor-dft 学习笔记 day51-State Stability Examples

State Stability Examples 以下为包含状态稳定性报告的示例,显示了状态稳定性分析中的不同行为。示例基于图B-1所示的设计。该设计具有以下三个时钟:• clk1— The only scan clock • clk2— Clocks a particular non-scan flip-flop • reset— Resets…