黄鸟抓包(Reqable)是一款专业工程软件,旨在为用户提供无缝、高效的 API 调试解决方案。专注于可靠性和用户体验,提供丰富的功能用于调试和测试API请求。无论您是开发人员、质量工程师还是安全工程师,Reqable都能为您提供强大且易于使用的体验。
Reqable提供了两大基本功能:API调试和API测试,并打通了API调试和测试之间的壁垒,例如可以从抓包数据中创建API进行测试,也可以在API测试时进行抓包调试分析。同时,Reqable还提供了一些常用的技术辅助工具,尽可能一站式完成接口生产相关工作。
如果您有分析移动端应用流量的需求,必须在移动端安装CA根证书,我们已经在Reqable中内置了Android和iOS证书安装的指引。
重要须知
如果您使用电脑端App进行流量分析,请安装电脑端的CA根证书到移动端设备;如果您使用移动端App直接进行流量分析,请安装移动端的CA根证书到移动端设备。
Reqable给每台设备生成的CA根证书均不相同。如果您希望所有设备共用同一个CA根证书,可以导出.p12格式证书后再在其他设备上导入。
信息
小技巧:移动端App初始化选择协同模式并扫码连接电脑后,会自动同步电脑端的CA根证书到当前移动端设备,此时两台设备的CA根证书为同一个。
Android
Android证书分为两种:用户证书和系统证书。用户目录不需要权限即可添加和删除CA证书,系统目录需要Root权限才可以添加和删除CA证书。
Reqable要求用户事先已经在电脑上安装了ADB工具,Reqable会使用ADB工具检查连接到电脑的Android设备的证书安装状态,包括系统证书安装状态和用户证书安装状态。
关于ADB工具
Android Debug Bridge(简称ADB)是Google提供的Android设备连接工具,可以从Android开发者官网下载,下载并安装完成后,配置好ANDROID_HOME和PATH环境变量,重启Reqable即可。
系统证书
无论设备是否Root,Reqable都可以检测系统证书的安装状态。但是,只有Root的设备Reqable才可以一键安装证书(支持Android 5.0 - 15系统)。
如果已经安装了系统证书,可以跳过下一步用户证书的安装。
用户证书
用户证书需要用户手动进行安装,在手机端打开设置进行如下步骤的操作:
设置-> 安全 -> 加密与凭据 -> 安装证书 -> CA证书,选择导出的证书并安装(需要用户授权验证)。
注意,Reqable无法检测到非Root设备的用户证书安装状态,会一直显示未知证书安装状态。
在Android 7.0及以上版本的设备上,安装完用户证书后还需要开发者在项目中进行额外配置来信任用户证书。
警告
这种方式只对Android Native应用有效,基于Flutter的应用无效。
方式一:build.gradle中配置依赖(推荐)
按照以上配置,Debug包将自动集成网络安全配置文件,如果无法连接到Maven中央仓库,请按照方式二的指引手动创建并配置网络安全文件。
方式二:手动创建网络安全文件
新建文件 res/xml/network_security_config.xml
配置到 AndroidManifest.xml
注意:请在发行版本中移除此配置,更多有关网络安全配置文件资料,请参考:Android开发文档。
浏览器
在Android设备上,安装完证书并不意味着可以被浏览器信任,即使是安装到系统证书目录。
Chrome浏览器
Chrome浏览器对证书的信任策略一直在变化,比如最新版本的Chrome浏览器会忽略安装到Android系统证书目录的自签CA证书,如果需要对Chrome浏览器进行抓包,请按照下面的方式进行处理:
如果是高版本Chrome浏览器,需要将CA证书安装到用户证书目录;
如果是低版本的Chrome浏览器,需要将CA证书安装到系统证书目录。
如果不确定选用那种方式,可以分别尝试下。
Firefox浏览器
Firefox浏览器使用内置的CA证书验证机制,无论Reqable的CA证书是安装到系统目录还是用户目录都不会被信任,需要用户进行额外的操作。
Firefox设置 -> 关于Firefox -> 点击顶部Logo 5下启用调试菜单。
Firefox设置 -> Secret Settings -> 启用 Use third party CA certificates。
按照上面步骤操作完成后,将CA证书安装到用户目录即可生效。
iOS
在iOS设备上安装证书非常简单,按照下面的操作即可。
首先,下载并安装描述文件(证书)。描述文件可以手动保存,也可以通过浏览器下载。
手动保存:点击右上角导出CA证书,在文件应用的Reqable文档目录下找到导出的CA证书,并手动复制或移动到上一级目录,点击证书后出现提示已下载描述文件。
浏览器下载:点击证书自动打开浏览器下载,下载完成后自动出现提示已下载描述文件。
第二步:打开 设置 -> 下载的描述文件 -> 选择文件 -> 安装 刚刚下载的描述文件。
第三步:信任证书,设置 -> 通用 -> 关于 -> 证书信任设置 -> 打开开关。
特殊问题
在一些特殊情况下,即使已经安装了证书可能也无法正常解析HTTPS流量,常见的有下面这些情况。
网络请求启用了固定证书,要求服务器返回指定签发的证书。
网络请求启用了双向验证,要求客户端也要上传证书给服务器进行验证。
应用使用了内置的CA证书验证,而不是使用系统的CA证书。
1. 证书问题
证书安装→ https://reqable.com/zh-CN/docs/getting-started/installation/
问题排错→ https://reqable.com/zh-CN/docs/faq/ssl/
2. 查看日志
打开侧边栏,长按顶部Logo,可以选择日志文件进行查看。
3. 获取不到应用程序的流量
请先确保下面的操作已经处理。
已经开启了调试开关。
已经设置记录模式为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模式下工作,请联系应用程序开发商获取解决方案。
4. 无法连接电脑
检查手机和电脑是否在同一个局域网下。
检查手机和电脑是否在同一个局域网段,有些局域网组网时会禁止跨段通信。
尝试电脑连接手机热点,然后手机再扫码连接电脑。
检查电脑防火墙是否禁用了Reqable代理端口号流量出入。
5. 协同模式下获取不到应用程序的流量
您可以按照下面的步骤进行排查:
切换到独立模式(即侧边栏选择调试Tab),按照上面3进行排查。
手机端Reqable关闭或者启用增强模式再次尝试。
更换电脑端Reqable的端口,然后重新扫码连接。
6. Chrome访问提示不安全的网站
Chrome浏览器对证书的信任策略一直在变化,比如最新版本的Chrome浏览器会忽略安装到Android系统证书目录的自签CA证书,如果需要对Chrome浏览器进行抓包,请按照下面的方式进行处理:
如果是高版本Chrome浏览器,需要将CA证书安装到用户证书目录;
如果是低版本的Chrome浏览器,需要将CA证书安装到系统证书目录。
如果不确定选用那种方式,可以分别尝试下。
7. Firefox访问提示不安全的网站
Firefox浏览器使用内置的CA Store,系统安装的CA证书无法生效,需要在Firefox调试菜单中启用信任。
Firefox设置 -> 关于Firefox -> 点击顶部Logo 5下启用调试菜单。
Firefox设置 -> Secret Settings -> 启用 Use third party CA certificates。
8. 无法访问境外受限网站
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.31.2版本
【优化】API测试支持JSON单行注释。
【优化】API测试User-Agent默认不再填写内容但实际发送请求仍然会使用Reqable版本标记。
【优化】API测试设置中禁用Reqable Id后请求头列表中不再显示此项。
【优化】API测试form-data请求体支持在文本模式下输入JSON格式的键值对。
【优化】API测试中请求参数和form在文本编辑模式下注释内容将正常高亮。
【优化】API测试部分数据在文本编辑模式下支持环境变量自动补全和高亮。
【修复】API测试不勾选的参数重新加载后数据异常的bug。
【修复】API测试Digest授权可能不成功的bug。
【修复】导入cmd格式的cURL未正确处理部分^转义符的bug。
【修复】部分JSONP无法自动解析成JSON的bug。
【修复】环境变量在表格视图中未能正常以ellipsis方式显示的bug。
【修复】升级版本后启动可能报错的bug。
【修复】非法URL在导出cURL时无法正确打开弹窗的bug。
【修复】重写、断点和脚本调试功能可能导致某些HTTP2请求失败的bug。
应用信息
热门推荐
更多版本
蓝鸟抓包高级版 6.55 MB 系统工具v4.8.6安卓版
查看黄鸟抓包高级版 6.55 MB 系统工具v4.8.6安卓版
查看HttpCanary(高级版) 6.55 MB 系统工具v4.8.6安卓版
查看小黄鸟app官方版 30.37 MB 系统工具v2.31.2安卓版
查看蓝鸟抓包app最新版 30.37 MB 系统工具v2.31.2安卓版
查看应用教程
实时热词
评分及评论
访问外部存储 访问外部存储的权限 ------------------------------------- 写入外部存储 允许程序写入外部存储,如SD卡上写文件 ------------------------------------- 访问网络 访问网络连接,可能产生GPRS流量 ------------------------------------- 获取网络状态 获取网络信息状态,如当前的网络连接是否有效 ------------------------------------- 获取WiFi状态 获取当前WiFi接入的状态以及WLAN热点的信息 -------------------------------------
点击星星用来评分