抓包调试新神器!Reqable:比Fiddler和Charles更现代

217 阅读6分钟

在日常开发和测试中,抓包工具是我们不可或缺的伙伴。无论是API调试、网络问题排查,还是数据分析和性能优化,一款好用的抓包工具都能事半功倍。今天给大家推荐一款新兴的抓包调试工具——Reqable,它或许能成为你替代Fiddler或Charles的新选择!

reqable首图.png

什么是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还提供了一些常用的技术辅助工具,尽可能一站式完成接口生产相关工作。

Reqable:API调试测试与辅助工具全解析.png

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流量。

  • 桌面端安装步骤

证书安装.png

证书安装入口

一键证书安装.png

一键安装

2. 初体验-API调试(抓包)

  1. 设置代理如下图点击系统代理图标,Reqable会自动配置系统代理,无需用户手动打开系统设置页面配置。
  2. CA根证书:检查根证书是否已安装
  3. 打开调试开关

traffic_01-a30f00960075bfe7791f89c1522efc70.png

调试开关、系统代理状态、CA证书状态

  1. 通过浏览器测试,输入地址 reqable.com  并回车,这里演示使用的是Chrome浏览器。回到Reqable,调试列表中已经捕获到了该网站的全部请求数据。

traffic_02-df642721a18ccfa96c537f756b47ed07.png

主内容区查看流量列表

  1. 我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。注意,再次双击该请求,可以关闭详情面板。

traffic_03-176bd530f0a4d203f2998a974f377c68.png

查询抓包的详细信息

3. 初体验-API测试

Reqable支持像Postman和ApiFox一样对API进行测试

  1. 点击标签栏的 + 按钮,新建一个API会话。

api_01-1cabbf7eaf22da9e29ca60e06fe6aa16.png

新建一个API测试

2. 在地址栏输入地址 https://reqable.com?foo=bar 并点击 发送 按钮。

api_02-2bdb5a25aeaef081c39b2b02455c512a.png

输入API地址发送请求

api_03-04882e723e35c82b99c9b83ecedf4573.png

查看测试结果

实用功能演示

示例1:API调试与修改

假设我们需要调试一个登录接口,传统方式需要修改代码并重新部署,使用Reqable可以实时修改请求参数。

操作步骤:

  1. 找到目标请求,右键选择「编辑」

image.png

  1. 在请求体中可以修改自定义参数

image.png

  1. 点击发送,就可以观察不同参数下的响应结果

这样无需修改代码就能测试各种边界情况,极大提升调试效率。

示例2:断点调试

当需要精确控制请求或响应的内容时,断点功能非常有用。

设置方法:

  1. 右键目标请求选择「设置断点」

  2. 配置断点规则(URL包含、方法等)

image.png

  1. 重新发送请求,Reqable会在请求发送前或响应接收前暂停

微信图片_20251130235639_171_474.png

  1. 此时可以修改请求参数或响应内容

这个功能在测试错误处理、异常场景时特别实用。

示例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的初步介绍,更多高级功能等待你去探索。有任何使用问题欢迎在评论区留言讨论!