前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【测评】新一代国产API抓包调试生产力工具Reqable实测

【测评】新一代国产API抓包调试生产力工具Reqable实测

原创
作者头像
MoLeft
发布2023-09-15 11:12:45
2.5K0
发布2023-09-15 11:12:45
举报
文章被收录于专栏:用砖头敲代码用砖头敲代码

前言

可能说起Reqable很多人都不是很熟悉,但是要是提起黄鸟(HttpCanary)想必很多人都可以耳熟能详吧,由黄鸟原班人马打造的新一代国产抓包调试生产力工具——Reqable在前一阵子正式上线了。作为HttpCanary国区和国际区的八年用户,也肯定是收到了Reqable的激活码。

价格

价格想必是很多人感兴趣的问题,目前Reqable是采用订阅式的,有社区版/专业版/企业版供君选择,哪怕是社区版虽然有数量限制,但是也可以做到全功能使用,而且专业版一年才79块钱,不到一顿饭钱,并且是Linux/Mac/Windows同时使用。作者这么搞,真的我直接哭死(作者说2023年末会推出移动端内测,如果也参与多端同时使用的话,我会哭的更大声的)。

抓包

说这么多没有用,让我们打开Reqable直接来一波实测,测试一下用起来效果到底怎么样。

在这里补充一点个人意见,作者为了让界面整洁,省略了文字说明,所有的功能都是直接以图标的形式显示出来的,这一点个人感觉对于新手来说,功能有些难找,熟练了就会好一些。回归正题,有请我们今天的受害人,本次测评的环境如下:

项目

Reqable所在平台

Windows 10

抓包App所在平台

IOS 17 beta

抓包App

宠物小组件

下载渠道

App Store

配置证书

抓包第一步,肯定是配置证书,这里作者很贴心,里面把教程都给好了,直接按照操作进行就可以。按照我箭头指的方向,打开之后按照教程导入证书就ok了。

配置抓包

只需要两步,就可以开始移动端抓包的美妙时刻了。

开始抓包

抓包请求这个页面简洁指数:⭐⭐⭐⭐⭐

可以根据请求或者响应来快速筛选结果。只需要点一下响应,就可以查看请求和响应。个人感觉比较不习惯的一点就是需要先点有上角三个点,再点关闭的这个逻辑有点麻烦。

拦截请求

因为Reqable提供了多种修改请求/响应的方法,所以这里统称为拦截请求。

目前有三种方式,可以实现拦截请求。

  • 断点: 实时修改请求和响应,通过设定匹配规则,触发断点后实时修改请求和响应。优点是可控性强,缺点是每一次触发断点条件都要手动控制
  • 重写: 重写这个功能可谓是从HttpCanry时代就存在的利器,通过事先匹配的规则,自动修改请求和响应。
  • 脚本: 脚本这个功能出的时候,我CPU都烧了,这是揍嘛啊,如果说重写是利器的话,那脚本这个功能简直就算DF-31,有了这个功能,麻麻再也不用担心请求上面有签名了。

(备注:当然,作为一个正经的测评文章,肯定是不会去教唆你去用脚本自动计算签名。所以我们这里只演示修改响应,不会演示伪造请求。)

断点

首先断点这个功能只需要在需要打断点的请求上面右键,并选择断点就可以了。

这就完了???当然不是啊,如果url复杂的话,还可以使用通配符去匹配规则,但是很显然我们这个url还是很简单的。只需要点完成,然后在app重新触发那个请求就可以了。

发现断点的请求的时候,就会出现一个框框。让你修改请求或者是响应,这里一定要注意时间,如果太慢的话,app就会直接当作请求失败处理了。这也是断点的弊端。

重写

Reqable的重写支持5种模式,分别是重定向、替换请求、替换响应、修改请求和修改响应。这五种的话,最常用的应该是修改请求/响应。

这里以修改请求为例,第一步也是右键,然后选择重写->修改响应。匹配模式是支持严格大小写以及正则表达式。

这个细节比较多,具体可以去官方文档查看用法:https://reqable.com/zh-CN/docs/capture/rewrite

脚本

脚本这个功能太牛了,类似于mitmproxy,但是比较下来更简单,更灵活。原本还在吐槽脚本功能的代码框没有代码提示功能,但是去作者的博客下面看了一下代码框的实现过程,瞬间哑然了。

作者博客原文:https://juejin.cn/post/7246672925666885689

好的,又跑题了,脚本这个功能,只需要设置本机的python地址,就可以正常使用了。

在脚本按钮上右键,设置环境。默认会识别本机python,但是如果你和我一样用conda,也可以设置成自己的。

然后依旧是右键请求,选择脚本,就会打开一个代码框。可以在原有的代码上修改。这里我做了一个简单修改响应的小示例。

个人感觉脚本的实现上有点小问题,首先是首行引入的from reqable import *,严重怀疑是通过自定义了一个reqable包来实现的。这个问题倒是不严重,只是由于目前还没有实现代码提示的功能,所以导致使用内置编辑器写脚本没有提示,使用外部的如:VSCode/PyCharm等,会找不到reqable这个包,在开发和调试中会带来一点点小小的不便。

如果能实现mitmproxy那种,通过python脚本去运行reqable,想必是极好的(不提实现难度,只提需求,不愧是我)。

调试

俗话说的好,不能Postman的Fiddler不是一款好Charles,做这样主打一款Reqable = Fiddler/Charles + Postman的产品,自然也支持Postman的功能。这也解决了我是用多年国产Api测试工具,例如某fox某post,使用步骤复杂,并且需要注册登录等复杂操作,各种复杂的功能显得极其臃肿。

Reqable作为这样一款小而美的抓包+测试集合在一起的软件,解决了我抓包之后还需要导入到Api测试软件中的痛点。直接五星好评!!!!

操作更是简单,只需要在抓包的页面右键点一下编辑,就变成了调试!!!!惊不惊喜!!!意不意外!!!!

由于本人使用场景抓包居多,所以测试这个功能就不提什么意见了。

总结

作为这样一款完全国产,定位准确,功能齐全的小而美软件。日常工作是完全可以满足调试与开发的工作。价格便宜,支持全平台,不像某些友商一样,限制平台,限制设备,各种限制。还有什么是不支持它的原因,我可以这样说,能打败Reqable的只有HttpCanary。这样的软件我实在是找不到什么理由不去支持。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 价格
  • 抓包
    • 配置证书
      • 配置抓包
        • 开始抓包
          • 拦截请求
            • 断点
            • 重写
            • 脚本
        • 调试
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档