Whistle Web Debugging Proxy介绍及使用

发布于:2024-05-09 ⋅ 阅读:(24) ⋅ 点赞:(0)

在这里插入图片描述

大家好,今天继续给大家分享一款抓包工具,这款抓包工具是网页的形式,方便多人访问同时维护。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