Whistle Web Debugging Proxy介绍及使用

在这里插入图片描述

大家好,今天继续给大家分享一款抓包工具,这款抓包工具是网页的形式,方便多人访问同时维护。Whistle Web Debugging Proxy是一个用于HTTP、HTTPS、WebSocket等网络协议的跨平台调试工具。它可以帮助开发者对网络请求进行捕捉、分析、修改和重定向等操作,从而提高调试效率。

一、代理设置

要使Whistle能够捕获HTTP和HTTPS请求,首先需要为设备设置代理。以下是部分常见设备的代理设置方法:

iOS设备:

在“设置” -> “无线局域网” -> “当前连接的Wi-Fi网络” -> “配置代理”中设置代理服务器地址和端口。

Android设备:

在“设置” -> “网络和互联网” -> “Wi-Fi” -> “当前连接的Wi-Fi网络” -> “修改网络” -> “高级选项” -> “代理”中设置代理服务器地址和端口。

Windows:

在“Internet选项” -> “连接” -> “局域网设置”中设置代理服务器地址和端口。

MacOS:

在“系统偏好设置” -> “网络” -> “高级” -> “代理”中设置代理服务器地址和端口。

注意:
如果捕获的协议为https,需要安装证书。
在这里插入图片描述

点击上方“HTTPS”,出现二维码,手机扫描二维码下载证书并安装即可。

二、使用Web界面

打开浏览器访问http://127.0.0.1:8899即可进入Whistle的Web界面。在此界面上,可以查看捕获到的请求、设置过滤规则、修改请求与响应以及配置自定义规则等。

在这里插入图片描述

三、基本功能

1、捕获请求

Whistle会自动捕获通过代理的所有HTTP和HTTPS请求。在Web界面的“Network”标签页中,可以查看到捕获到的请求列表。点击某个请求,可以查看请求和响应的详细信息,包括URL、方法、头部、内容等。
在这里插入图片描述

2、过滤请求

在捕获大量请求时,可能希望只查看特定类型的请求。Whistle提供了灵活的过滤功能,可以根据URL、方法、状态码等条件过滤请求。

在Web界面的“Network”标签页底部,有一个过滤器输入框。输入过滤条件后,按Enter键应用过滤器。支持的过滤条件包括:

url:xxx:过滤URL包含xxx的请求
method:GET:过滤方法为GET的请求
statusCode:200:过滤状态码为200的请求
contentType:json:过滤响应内容类型为JSON的请求

在这里插入图片描述

3、修改请求与响应

Whistle允许对请求和响应进行实时修改。在“Network”标签页中,选择一个请求,点击“Composer”标签,即可对请求进行编辑。编辑完成后,点击“Send”按钮发送修改后的请求。

同样,你也可以修改响应内容。在“Network”标签页中,选择一个请求,点击“Response”标签,在“Body”区域对响应内容进行编辑。编辑完成后,点击“Save”按钮保存修改。

4、重定向请求

Whistle可以将请求重定向到其他URL或本地文件。在Web界面的“Rules”标签页中,添加一条重定向规则,格式如下:

原始URL 重定向目标

例如,将http://example.com/test.js重定向到本地文件/path/to/local/test.js:

http://example.com/test.js file:///path/to/local/test.js

在这里插入图片描述

5、自定义规则

Whistle提供了丰富的自定义规则功能,可以满足各种复杂场景下的调试需求。在Web界面的“Rules”标签页中,你可以编写自定义规则。

以下是一些常见的自定义规则:

替换请求头:reqHeaderValue://headerName=value
替换响应头:resHeaderValue://headerName=value
替换请求参数:reqQueryValue://paramName=value
替换请求体:reqBody://content
替换响应状态码:statusCode://code

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

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

相关文章

【OpenGL的数学01】从窗口空间计算视空间

文章目录 一、说明二、定义三、来自gl_FragCoord四、来自gl_FragCoord的XYZ4.1 从窗口到ndc4.2 从NDC到剪辑4.3 从剪辑到眼睛4.4 GLSL示例 五、从gl_FragCoord的XYZ优化方法 一、说明 本文将解释如何在给定窗口空间顶点位置的情况下重新计算眼空间顶点位置。以及相反的计算。其…

【Obsidian】视频笔记插件Media Extended的强大功能

我将开设一个专栏,介绍当下最好用的笔记软件Obsidian的使用经验和技巧。欢迎持续关注。 摘要:本文将首先向您介绍一款功能强大的笔记软件Obsidian,然后为您详细解析Obsidian的一款实用插件——Media Extended,帮助您更好地利用Obs…

如何在Mac 电脑上安装 Homebrew

1、打开终端应用程序 在终端中输入以下命令并回车: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 这个命令会自动下载并运行 Homebrew 的安装脚本。 系统可能会提示您输入管理员密码,请输入您的 Mac 登录…

易图讯科技三维电子沙盘系统

深圳易图讯科技有限公司(www.3dgis.top)创立于2013年,专注二三维地理信息、三维电子沙盘、电子地图、虚拟现实、大数据、物联网和人工智能技术研发,获得20多项软件著作权和软件检测报告,成功交付并实施了1000多个项目&…

十、Redis内存回收策略和机制

1、Redis的内存回收 在Redis中可以设置key的过期时间,以期可以让Redis回收内存,循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl:将key的过期时间设置为tt…

QTreeView学习 branch 虚线设置

1、方法一&#xff1a; #include <QStyleFactory> ui.treeView->setStyle(QStyleFactory::create("windows")); 2、方法二&#xff1a; QString strtyle2 R"( QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/TreeViewDe…

【计算机毕业设计】用于日语词汇学习的微信小程SSM

日语词汇学习小程序是高校人才培养计划的重要 组成部分&#xff0c;是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。本学生所在学院多采用半手工管理日语词汇学习小程序的方式&#xff0c;所以有必要开发日语词汇…

Qt---窗口系统

一、QMainWindow QMainWindow是一个为用户提供主窗口程序的类&#xff0c;包含一个菜单栏&#xff08;menu bar&#xff09;、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget) 1. 菜单栏(最多有一个) QMenuBar *bar…

【Python基础】装饰器(3848字)

文章目录 [toc]闭包什么是装饰器装饰器示例不使用装饰器语法使用装饰器语法 装饰器传参带参数的装饰器类装饰器魔术方法\__call__()类装饰器示例带参数类装饰器property装饰器分页操作商品价格操作 个人主页&#xff1a;丷从心 系列专栏&#xff1a;Python基础 学习指南&…

Spring MVC(建立连接 + 请求)

文章目录 一、建立客户端和服务器的连接二、如何构造请求&#xff08;传参&#xff09;2.1 构造请求方式 参数通用注解2.2 传递单个参数2.3 传递多个参数2.4 传递数组/集合2.5 传递对象2.6 传递JSON 三、相关的其他请求操作3.1 获取URL中的参数 PathVariable3.2 上传文件 Requ…

maven找不到依赖,in offline mode

问题描述&#xff1a; [ERROR] Plugin org.jetbrains.kotlin:kotlin-maven-plugin:1.2.71 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.jetbrains.kotlin:kotlin-maven-plugin:jar:1.2.71: Cannot access aliyunmaven (ht…

未来娱乐新地标?气膜球幕影院的多维体验—轻空间

在中国&#xff0c;一座独特的娱乐场所正在崭露头角&#xff1a;气膜球幕影院。这个融合了气膜建筑与激光投影技术的创新场所&#xff0c;不仅令人惊叹&#xff0c;更带来了前所未有的科幻娱乐体验。让我们一起探索这个未来的娱乐空间&#xff0c;感受其中的多维魅力。 现场演出…

【刷题篇】滑动窗口(二)

文章目录 1、水果成篮2、找到字符串中所有字母异位词3、串联所有单词的子串4、最小覆盖子串 1、水果成篮 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能多…

【Python技术】使用akshare、pandas打印合成生物概念股

前不久写过一篇文章【python技术】使用akshare抓取东方财富所有概念板块&#xff0c;并把指定板块概念的成分股保存excel 简单示例 &#xff0c;当初是用低空经济作为demo示例&#xff0c;得到概念股。 今天简单跑了下&#xff0c;提示 未找到板块名称合成生物&#xff0c;请检…

SM4-GCM Library代码示例

sm4-gcm加密解密测试代码: fn main() {let key Sm4Key([0u8; 16]);let nonce [0u8; 12];let plaintext b"Hello World!";let ciphertext sm4_gcm::sm4_gcm_encrypt(&key, &nonce, plaintext);println!("Encrypted: {}", hex::encode(&cip…

String,StringBuilder,StringBuffer

String&#xff0c;StringBuffer&#xff0c;StringBuilder String类 概念:String是不可变类&#xff0c;即一旦一个String对象被创建&#xff0c;包含在这个对象中的字符序列是不可改变的&#xff0c;直至该对象被销毁&#xff0c;并且String类是final类&#xff0c;不能有子…

Debian安装Redis、RabbitMQ、Nacos

安装Redis&#xff1a; 启动Redis、开机自启动 sudo systemctl start redis-server #启动sudo systemctl enable redis-server #开机自启 Redis状态(是否在运行) sudo systemctl status redis-server #查看运行状态 redis-cli ping # 客户端尝试连接 安装RabbitMQ&#xff0c;…

【JavaEE 初阶(五)】文件操作和IO

❣博主主页: 33的博客❣ ▶️文章专栏分类:JavaEE◀️ &#x1f69a;我的代码仓库: 33的代码仓库&#x1f69a; &#x1faf5;&#x1faf5;&#x1faf5;关注我带你了解更多文件操作 目录 1.前言2.认识文件3.文件操作3.1File 属性3.2构造方法3.3File类方法 4.文件内容操作4.1R…

「JavaEE」多线程案例1:单例模式阻塞队列

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 多线程案例分析 &#x1f349;单例模式&#x1f34c;饿汉模式&#x1f34c;懒汉模式&#x1f34c;指令重排序 &#x1f349;阻塞队列&a…

Matlab|考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型

1主要内容 程序主要参考《考虑极端天气线路脆弱性的配电网分布式电源配置优化模型-马宇帆》&#xff0c;针对极端天气严重威胁配电网安全稳定运行的问题。基于微气象、微地形对配电网的线路脆弱性进行分析&#xff0c;然后进行分布式电源接入位置与极端天气的关联性分析&#…