在日常开发和测试中,抓包工具是我们不可或缺的伙伴。无论是API调试、网络问题排查,还是数据分析和性能优化,一款好用的抓包工具都能事半功倍。今天给大家推荐一款新兴的抓包调试工具——Reqable,它或许能成为你替代Fiddler或Charles的新选择!
什么是Reqable?
Reqable = Fiddler + Charles + Postman 是新一代API开发工具。
Reqable是一款基于MITM(中间人攻击)原理的现代抓包调试工具,支持HTTP、HTTP/2和WebSocket网络协议。与传统的Fiddler、Charles等工具相比,Reqable拥有更现代化的UI设计、更强大的功能以及更流畅的用户体验。
主要特性亮点:
- 🚀 性能卓越:基于C++和Flutter开发,启动快速,运行流畅
- 🎯 界面现代:简洁直观的图形界面,操作便捷
- 🔒 安全可靠:本地MITM代理,数据不经过第三方服务器
- 💻 跨平台:完美支持Android、iOS、macOS、Windows和Linux
- 🔧 功能全面:抓包、编辑、重发、断点、脚本等一应俱全
特性介绍
Reqable提供了两大基本功能:API调试和API测试,并打通了API调试和测试之间的壁垒,例如可以从抓包数据中创建API进行测试,也可以在API测试时进行抓包调试分析。
同时,Reqable还提供了一些常用的技术辅助工具,尽可能一站式完成接口生产相关工作。
API调试
- 支持HTTP/HTTPS二级代理(调试境外流量,比如需要魔法访问的网站)。
- 搜索筛选:提供书签、域名、快捷筛选栏和多条件等高级搜索方式。
- 重写功能:预设规则对指定请求或响应进行重定向、替换或者修改。
- 断点功能:对请求或响应进行实时断点操作,比如屏蔽,挂起或修改替换数据等。
- 脚本功能:支持编写Python脚本处理实时请求或响应。
- 测试联动:支持从调试列表创建API进行测试。
- 历史记录:自动保存抓包的流量数据,方便回溯查看。
API测试
-
多个会话:支持创建多个Tab进行API测试。
-
集合导入:支持导入Postman、Hoppscotch、Apifox和ApiPost等API集合。
-
批量编辑:支持批量编辑请求参数、请求头、表单等。
-
授权设置:支持API KEY、Basic Auth和Bearer Token等授权方式。
-
代理设置:支持自定义代理配置,系统代理和调试代理等。
-
性能测试:可以查看请求在不同环节的耗时数据。
-
Cookie管理:自动保存Cookie或在请求头中自动加入关联的Cookie。
-
历史记录:自动保存发送的请求和响应数据,方便回溯查看。
-
cURL支持:可以导入和导出cURL。
技术辅助工具
编解码工具:
- Base64
- URL
- JWT
- JSON转义
加解密工具:
- 消息摘要(MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-256)
- AES
其他工具:
-
JSON查看
-
XML查看
-
色彩转换
-
时间戳、UUID生成
-
二维码生成
下载安装,初体验
1. 安装与配置
首先访问Reqable官网下载对应平台的安装包。安装完成后启动应用,你会看到简洁的主界面。
证书安装(关键步骤):
由于Reqable使用MITM技术,需要在设备上安装根证书才能解密HTTPS流量。
- 桌面端安装步骤
证书安装入口
一键安装
2. 初体验-API调试(抓包)
- 设置代理如下图点击系统代理图标,Reqable会自动配置系统代理,无需用户手动打开系统设置页面配置。
- CA根证书:检查根证书是否已安装
- 打开调试开关
调试开关、系统代理状态、CA证书状态
- 通过浏览器测试,输入地址 reqable.com 并回车,这里演示使用的是Chrome浏览器。回到Reqable,调试列表中已经捕获到了该网站的全部请求数据。
主内容区查看流量列表
- 我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。注意,再次双击该请求,可以关闭详情面板。
查询抓包的详细信息
3. 初体验-API测试
Reqable支持像Postman和ApiFox一样对API进行测试
- 点击标签栏的 + 按钮,新建一个API会话。
新建一个API测试
2. 在地址栏输入地址 https://reqable.com?foo=bar 并点击 发送 按钮。输入API地址发送请求
查看测试结果
实用功能演示
示例1:API调试与修改
假设我们需要调试一个登录接口,传统方式需要修改代码并重新部署,使用Reqable可以实时修改请求参数。
操作步骤:
- 找到目标请求,右键选择「编辑」
- 在请求体中可以修改自定义参数
- 点击发送,就可以观察不同参数下的响应结果
这样无需修改代码就能测试各种边界情况,极大提升调试效率。
示例2:断点调试
当需要精确控制请求或响应的内容时,断点功能非常有用。
设置方法:
-
右键目标请求选择「设置断点」
-
配置断点规则(URL包含、方法等)
- 重新发送请求,Reqable会在请求发送前或响应接收前暂停
- 此时可以修改请求参数或响应内容
这个功能在测试错误处理、异常场景时特别实用。
示例3:脚本自动化
对于复杂的测试场景,Reqable支持使用Python脚本进行自动化处理。
def on_request(context, request):
# 在所有请求头中添加Trace-ID
request.headers['Trace-ID'] = "123456"
return request
def on_response(context, response):
# 检查响应时间是否超时
response.headers['X-Todo-bianma'] = 'true'
return response
将上述脚本保存并加载到Reqable中,即可自动为所有请求添加追踪ID并检测慢请求。
总结
Reqable作为一款新兴的抓包工具,在保留传统工具核心功能的同时,带来了更现代化的用户体验。无论是开发阶段的API调试,还是测试阶段的数据验证,Reqable都能提供强有力的支持。
适合人群:
- 前端/后端开发工程师
- 测试工程师
- 移动端开发人员
- 网络协议学习者
如果你对现有的抓包工具不太满意,或者想要尝试更现代化的解决方案,不妨给Reqable一个机会。相信它简洁的界面和强大的功能会给你带来惊喜!
以上就是关于Reqable的初步介绍,更多高级功能等待你去探索。有任何使用问题欢迎在评论区留言讨论!