
黄鸟抓包(Reqable)是一款跨平台的专业HTTP开发与调试工具,全面支持HTTP1、HTTP2及HTTP3(QUIC)协议,具备简单易用、功能强大、性能高效的特点,能够帮助程序开发和测试人员提升工作效率。该工具需要使用者具备一定的网络基础知识,更适合开发、测试、网络、安全、爬虫等领域的工程专业人员使用,或在专业人员的指导下操作。
Reqable是一款新一代的API调试与测试一站式解决方案,具备全平台适配、无需登录、轻量运行、高性能表现以及干扰等特点,致力于让API相关操作变得更快捷、更简便。它能够对应用产生的HTTP流量进行抓包分析,助力工程师更迅速、精准地排查网络层面的问题。此外,Reqable还提供了API测试与管理的功能,支持多设备协同工作,从而提升开发与测试环节的效率。
Reqable的前身是HttpCanary,我们对UI和所有功能进行了重新设计,以此来实现与桌面端功能的一致性。
若您需要分析移动端应用的流量,就必须在移动设备上安装CA根证书,我们已在Reqable里提供了Android和iOS证书安装的相关指引。
重要须知
若您通过电脑端App开展流量分析,需将电脑端的CA根证书安装至移动端设备;若您直接使用移动端App进行流量分析,则要把移动端的CA根证书安装到移动端设备上。
Reqable为每台设备生成的CA根证书都是独一无二的。若您想让所有设备使用同一个CA根证书,可先导出.p12格式的证书,再导入到其他设备中。
信息
小技巧:在移动端App初始化时选择协同模式,然后扫码连接电脑,系统就会自动把电脑端的CA根证书同步到当前的移动端设备上,这样一来,两台设备的CA根证书就变成同一个了。
Android
Android证书主要有两类,分别是用户证书与系统证书。其中,用户目录下添加或删除CA证书无需权限,而系统目录下进行CA证书的添加或删除操作则需要Root权限。
Reqable需要用户预先在电脑上安装ADB工具,它会借助ADB工具来检测连接到电脑的Android设备的证书安装情况,涵盖系统证书和用户证书的安装状态。
关于ADB工具
Android Debug Bridge(简称ADB)是Google推出的Android设备连接工具,可从Android开发者平台获取,安装完成后,需配置好ANDROID_HOME与PATH环境变量,之后重启Reqable即可。
系统证书
Reqable能够检测系统证书的安装状态,无论设备是否Root。不过,仅当设备已Root时,Reqable才支持一键安装证书(适用于Android 5.0至15系统)。
若系统证书已完成安装,那么用户证书的安装步骤可直接跳过。
用户证书
用户证书需由用户手动安装,在手机端进入设置后,可按以下步骤操作:
进入设置界面后,依次点击“安全”“加密与凭据”“安装证书”选项,选择“CA证书”类别,接着选中已导出的证书进行安装操作(此步骤需用户完成授权验证)。
需要注意的是,Reqable没办法检测到非Root设备上用户证书的安装情况,会始终显示证书安装状态未知。
在Android 7.0及更高版本的设备上,用户证书安装完成后,开发者还需在项目里进行额外配置,以此来实现对用户证书的信任。
警告
这种方法仅适用于Android原生应用,对基于Flutter开发的应用不起作用。
方法一:在build.gradle里进行依赖配置(建议采用)
按照上述配置,Debug包会自动集成网络安全配置文件;若无法连接至Maven中央仓库,可依据方式二的指引手动创建并配置该网络安全文件。
方式二:手动创建网络安全文件
创建一个新的文件,路径为res/xml/network_security_config.xml
配置到 AndroidManifest.xml
请注意:在正式发布的版本里,请把此配置移除,若想了解更多关于网络安全配置文件的信息,可查阅Android开发文档。
浏览器
在Android设备上,证书安装完成后,即便已将其放置到系统证书目录,也不代表它能获得浏览器的信任。
Chrome浏览器
Chrome浏览器的证书信任规则持续调整,像其最新版本就不再认可安装到Android系统证书目录的自签CA证书,若要对Chrome浏览器开展抓包操作,可参照以下方法来处理:
如果使用的是高版本Chrome浏览器,需将CA证书安装至用户证书目录。
若使用的是低版本Chrome浏览器,则需将CA证书安装至系统证书目录。
如果不确定选用那种方式,可以分别尝试下。
Firefox浏览器
Firefox浏览器的CA证书验证机制有其特殊性,不管Reqable的CA证书安装在系统目录还是用户目录,都无法被自动信任,需要用户手动执行额外的配置步骤。
Firefox设置 -> 关于Firefox -> 连续点击顶部Logo五次,即可启用调试菜单。
Firefox设置 -> 隐私与安全 -> 证书 -> 查看证书 -> 证书机构 -> 导入第三方CA证书并启用。
完成上述步骤的操作后,把CA证书安装到用户目录就能生效了。
iOS
在iOS设备上安装证书的步骤十分简单,你只需依照以下操作执行就行。
首先,需要安装描述文件(证书)。该描述文件既可手动保存,也能通过浏览器获取。
手动保存操作步骤如下:点击界面右上角的“导出CA证书”选项,随后打开文件应用,进入Reqable文档目录找到刚才导出的CA证书文件,手动将其复制或移动至上一级目录,点击该证书文件后会弹出已描述文件的提示信息。
浏览器:点击证书会自动打开浏览器,操作完成后会自动弹出提示,显示已描述文件。
第二步:进入设置,找到描述文件选项,选择刚才的描述文件并进行安装操作。
第三步:信任证书,操作路径为设置 -> 通用 -> 关于 -> 证书信任设置 -> 开启对应开关。
特殊问题
在某些特殊情形下,即便已经安装好了证书,也有可能无法对HTTPS流量进行正常解析,常见的情况主要有以下这些。
网络请求采用了固定证书机制,需要服务器返回由指定机构签发的证书。
网络请求开启了双向验证机制,需要客户端向服务器上传证书以完成验证流程。
应用采用的是自身的CA证书进行验证,而非系统自带的CA证书。
证书问题
证书安装→ https://reqable.com/zh-CN/docs/getting-started/installation/
问题排错→ https://reqable.com/zh-CN/docs/faq/ssl/
查看日志
打开侧边栏后,长按顶部的Logo,就能选择日志文件查看其内容。
获取不到应用程序的流量
请先确保下面的操作已经处理。
已经开启了调试开关。
已经设置记录模式为VPN而不是代理。
已经启用增强模式。
已关闭全部筛选和搜索条件。
已移除全部指定应用程序。
在Reqable中开启调试开关后,打开手机浏览器并访问百度首页。
警告
浏览器可能会提示连接不安全,这是证书方面的问题,请查看以下内容。
Chrome→ https://reqable.com/zh-CN/docs/faq/android/#chrome
Firefox→ https://reqable.com/zh-CN/docs/faq/android/#firefox
情况一:百度首页无法正常访问,同时在Reqable的调试列表里看不到任何流量记录,哪怕是CONNECT请求也没有。
可能是Reqable代理服务器的端口出现异常(比如被其他程序进程占用了),你可以试着更换一下端口重新尝试。
要是更换端口后浏览器依旧无法打开百度首页,麻烦在Github或者微信上向我们反馈。
情况二:百度首页能够正常访问,然而在Reqable的调试列表里却看不到任何流量数据,其中也包含CONNECT请求。
请再次确认记录模式是否处于VPN模式,若VPN模式下问题依旧存在,欢迎通过Github或微信向我们反馈。
情况三:百度首页能够正常访问,同时在Reqable的调试列表里也能看到浏览器的访问流量,其中包含CONNECT请求。
浏览器能正常使用,说明该应用程序不允许在VPN模式下运行,请联系应用程序的开发商以获取解决办法。
无法连接电脑
检查手机和电脑是否在同一个局域网下。
可以检查一下手机和电脑是不是处于同一个局域网段,因为部分局域网在组网的时候,可能会限制跨网段之间的通信。
尝试电脑连接手机热点,然后手机再扫码连接电脑。
检查电脑防火墙是否对Reqable代理端口号的流量出入进行了禁用设置。
协同模式下获取不到应用程序的流量
您可以按照下面的步骤进行排查:
切换至独立模式(操作方式为在侧边栏中选择调试Tab),并依照上述第3点开展排查工作。
可以在手机端的Reqable里,尝试关闭或重新启用增强模式后再操作。
先在电脑端Reqable里更换端口,之后重新扫码进行连接。
Chrome访问提示不安全的网站
Chrome浏览器的证书信任规则持续调整,像其最新版本就不再认可安装到Android系统证书目录的自签CA证书,若要对Chrome浏览器开展抓包操作,可参照以下方法来处理:
如果使用的是高版本Chrome浏览器,需将CA证书安装至用户证书目录。
若使用的是低版本Chrome浏览器,则需将CA证书安装至系统证书目录。
如果不确定选用那种方式,可以分别尝试下。
Firefox访问提示不安全的网站
Firefox浏览器所使用的CA存储中,系统已安装的CA证书无法直接生效,需通过Firefox的调试菜单来启用信任设置。
Firefox设置 -> 关于Firefox -> 连续点击顶部Logo五次,即可启用调试菜单。
Firefox设置 -> 隐私与安全 -> 证书 -> 查看证书 -> 证书机构 -> 导入第三方CA证书并启用。
无法访问境外受限网站
Reqable本身没有访问受限网站的功能,您可在获得境外访问许可的情况下,依照以下步骤进行操作。
电脑端安装并启动科学上网工具。
在电脑端的Reqable中,将二级代理配置指向之前步骤所用的工具。
手机端Reqable扫码连接电脑(协同模式)。
#1 独立模式
Reqable具备独立的流量监听能力,无需依赖桌面端应用程序。用户可直接在手机端对应用进行抓包操作,查看HTTP报文并分析网络请求,从而便捷高效地定位问题。Reqable手机端提供了丰富多样的视图形式,像Json视图、Hex视图、图片预览等,便于开发者查看与分析数据。除此之外,用户还能够对已捕获的请求执行重放、编辑、分析以及保存等操作。
#2 协同模式
要是觉得手机操作起来不太方便,你可以借助App把流量转发到Reqable桌面端。不需要手动去配置Wifi代理,只要扫描一下二维码,就能把手机上的流量转发到桌面端了。而且在协同模式下,还能开启增强抓包功能,这样可以拦截那些不走系统代理的应用程序的流量,像Flutter应用程序就属于这类。处于协同模式时,用户能够在电脑端直接对请求进行重放、断点、重写以及脚本等操作。
#3 流量抓包
Rehable默认采用VPN技术来抓取应用程序的流量,当前具备以下这些特性:
- HTTP/1.x, HTTP2协议版本。
- 支持HTTP、HTTPS、Socks4、Socks4a以及Socks5代理协议。
- HTTPS,以及TLSv1.1、TLSv1.2和TLSv1.3这几种加密协议。
- 基于HTTP1升级的WebSocket协议。
- IPv4 and IPv6.
- SSL代理。
- HTTP/HTTPS二级代理。
- 筛选、搜索和排序。
- 编辑API。
- 历史记录。
- 重发回放。
- 颜色高亮。
- HAR支持。
- 生成代码。
#4 API测试
Reqable还提供了API测试和管理能力:
- 对HTTP/1.1、HTTP2以及HTTP3(QUIC)进行请求测试。
- API集合。
- 环境变量。
- 参数批量编辑。
- 授权设置。
- 代理设置。
- 性能数据查看。
- Cookie管理。
- 历史记录。
- cURL支持。
- 生成代码。
v2.33.12版本
- 【优化】部分场景下的内存占用过大和卡顿问题。
- 【优化】原始Tab页中,超大数据将显示为`<...>`,以此避免性能问题。
- 【优化】生成Python-Requests代码时采用URL拼接方式,而非params字典传参。
- 【优化】API请求测试URL参数值里的`=`不会再被自动转码为`%3D`了。
- 【优化】协同二维码IP地址列表中移除VPN虚拟地址。
- 【修复】解决了API请求测试中URL参数名与参数值均为空时参数丢失的问题。
- 【修复】设备在切换网络后进行远程访问时出现的请求回路问题。
三角洲行动S6保险任务7选2怎么选 三角洲行动S6保险任务7选2推荐
《三角洲行动》S6赛季开启,保险任务7选2的抉择关乎玩家收益与游戏体验。选错可能耗费大量时间、物资,让游戏进程受阻。这7个任务难度、所需资源各不相同,有的考验枪法,需精准击杀特定目标;有的侧重收集,要寻觅稀有道具。下面为大家分析各个任务,给出实用选择推荐,助你轻松拿奖励。
美团旅行上线门票免单活动,美团旅行周六0元入园
出游福利降临!美团旅行于9月13日开启“周六门票真免单”活动。首期活动覆盖范围超广,从九皇山景区的壮美山川,到广东和美术馆的艺术殿堂,全国近20个省市区约200家热门景区参与。美团黑钻、黑金、铂金会员可在美团App“我的-美团会员真免单”页面,领取免费门票,畅享0元入园的快乐。
发条总动员双打模式怎么玩 发条总动员双打模式玩法介绍
《发条总动员》双打模式正式开启!玩家可邀好友或随机匹配,共同踏上飞行射击征程。玩法设定别具一格,“公平模式”消弭属性差异,让每位玩家都能凭操作实力一较高下。在玩法中,两人既要灵活走位躲避弹幕,又要找准时机攻击,适时利用“吞噬弹幕”机制反制敌人,携手挑战强力BOSS,解锁丰厚奖励。
支付宝账号解除授权上热搜 支付宝解除授权步骤
“支付宝账号解除授权” 冲上热搜,令众多用户惊讶。不少网友查看后发现,自己支付宝授权过的应用数量庞大,翻很久都翻不完,其中不乏早已卸载或不再使用的软件。支付宝客服解释,这些多因小程序快速登录产生。为保障个人信息安全,建议定期清理授权。接下来,就为大家介绍支付宝解除授权的详细步骤 。
小米17对标iphone,小米16改名小米17,正面硬钢iPhone17!
9月15日,小米手机发展历程迎来关键节点。小米创办人、董事长兼CEO雷军发文称,小米17系列产品力实现跨代升级,将全方位对标iPhone,直面iPhone17系列竞争。此前,小米集团总裁卢伟冰已官宣,小米17系列本月发布,直接跳过小米16系列,这一系列包含三款机型,还将全球首发第五代骁龙8至尊版移动平台。