众所周知 Reqable(小黄鸟)用来抓包非常好用
,但是很可惜官方只支持系统代理(端口)抓包
,也就是只能抓浏览器等,能配置本地代理的软件。但是没有关系,我们有强大的 Clash TUN,借助 Clash 的分流规则,可以轻松实现全局抓包 ![]()
步骤
Reqable 步骤
-
下载 Reqable(小黄鸟)
-
打开,点击右上角盾牌图标,安装证书(不安装则无法解析 HTTPS 加密流量,只能解析 HTTP)
-
点击左上角第四个铅笔图标,将端口号修改为 9000
-
右上角点击启动,开始抓包(不需要设置系统代理)。此时抓不到东西是正常的,因为我们还没有配置 Clash
Clash 步骤
-
打开你的 Clash 客户端(这里以 Clash Verge 为例)
-
将你的任意订阅复制一份,随便取个名字,比如我这里叫抓包订阅
-
右键编辑抓包订阅,添加一个节点
proxies: - name: Reqable type: http server: 127.0.0.1 port: 9000再添加一个节点组
proxy-groups: - name: 抓包 type: select proxies: - Reqable最后找到
rules:在第一行之前添加上- PROCESS-NAME,Reqable.exe,🚀 节点选择 # 🚀 节点选择 要换成你平常使用的代理组的名称 - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve # 参考资料里说要加,没仔细研究过 - DST-PORT,9000,DIRECT # 参考资料里说要加,没仔细研究过 # 抓 apis.map.qq.com - DOMAIN-SUFFIX,apis.map.qq.com,抓包 # 抓 opencode.ai # - DOMAIN-SUFFIX,opencode.ai,抓包 # 抓 Cherry Studio.exe 这个程序的请求 # - PROCESS-NAME,Cherry Studio.exe,抓包 # 抓所有流量 # - MATCH,抓包 -
保存,激活抓包订阅
-
开启 Clash TUN
-
回到小黄鸟,就能发现抓到包啦(如果网页打不开,注意看下
🚀 节点选择里是不是选的直连)
Q&A
Q:怎么只能抓 apis.map.qq.com 呢,其他的怎么抓?
A:rules 里面可以配置,有在规则里的都能抓,把 - MATCH,抓包 取消注释,就是全局抓包啦
Q:抓包后,为什么访问不了外网/访问不了国内网站?
A:🚀 节点选择 里选择代理节点,抓包完请求会走代理出去。选直连就走本地直连出去
(选读)请求流程分析:
- 略过一些流程
- 应用发起请求访问 apis.map.qq.com
- Clash 拦截这个请求,rules 匹配到
- DOMAIN-SUFFIX,apis.map.qq.com,抓包,交给抓包组,抓包组只有一个名为Reqable的节点,Reqable节点将请求转发到本地的 9000 端口,即小黄鸟监听的 http 端口,所以小黄鸟可以接管该请求 - 小黄鸟通过证书解密出 http 请求内容,记录后继续执行该请求
- 小黄鸟刚把请求发出去,又被 Clash 拦截,rules 匹配到
- PROCESS-NAME,Reqable.exe,🚀 节点选择,走节点出去了 - 后续我分析不下去了,反正小黄鸟能把服务器返回值也录下来,结束
参考资料
github.com/reqable/reqable-app [feature] 支持透明代理 (Transparent proxy support) 已打开 05:56AM - 22 Dec 23 UTC## 原因 - 单纯使用系统代理无法抓取一些应用的包,而使用透明代理(可以理解为 clash 或 surge的增强模式)可以有效的抓取。经过本人电脑上 s…urge 的测试,reqable 不能抓取的包 surge 可以有效的进行抓取(开启 http capture 和 https decrypt) - 但是 surge 的抓包功能较为简陋,不能做到和 reqable 等网络调试工具一样的体验。 ## Feature 请求说明 希望能够在 system proxy 之外添加增强模式代理(网络层代理)从而实现更好的抓包体验。
7 个帖子 - 6 位参与者