iOS的抓包软件如HTTP Catcher、Thor等,玩iOS的小伙伴们应该都对它们耳熟能详了,它们能够对在手机上产生流量的HTTP、HTTPS网络包进行抓包与分析,然后对发送数据或者返回数据进行调试,从而达到对某些软件修改的目的,小编也一直有分享它们的教程或者软件的重写&过滤器规则。但今天小编给大家安利一个安卓端的抓包软件——黄鸟抓包(Reqable),它是一款强大的抓包和注入工具,已经支持HTTP/HTTPS 1.0和1.1协议,还支持HTTP2协议以及其他TCP协议。黄鸟抓包提供了强大的数据包解析和注入功能,伪造请求、修改响应都在一念之间。
Reqable的之前的版本是HttpCanary,开发者重新设计了UI和所有功能,以保持和桌面端的功能一致。
移动端安装
如果您有分析移动端应用流量的需求,必须在移动端安装CA根证书,我们已经在Reqable中内置了Android和iOS证书安装的指引。如果您使用电脑端App,请切换到Android和iOS的Tab按照步骤进行安装;如果您使用移动端App,请进入侧边栏 -> 证书管理 -> 安装根证书到本机,然后选择合适的方案进行安装。
重要须知
如果您使用电脑端App进行流量分析,请安装电脑端的CA根证书到移动端设备;如果您使用移动端App直接进行流量分析,请安装移动端的CA根证书到移动端设备。
Reqable给每台设备生成的CA根证书均不相同。如果您希望所有设备共用同一个CA根证书,可以导出.p12格式证书后再在其他设备上导入。
备注
小技巧:移动端App初始化选择协同模式并扫码连接电脑后,会自动同步电脑端的CA根证书到当前移动端设备,此时两台设备的CA根证书为同一个。
Android
Android证书分为两种:用户证书和系统证书。用户证书位于/data/misc/user/0/cacerts目录,系统证书位于/system/etc/security/cacerts。其中,用户目录不需要额外权限即可更改,系统目录需要权限解锁system分区才可修改。您可以按照下面的场景选择任意一个合适的证书安装方案。
1. Android 7.0以下设备
Android 7.0以下设备默认信任用户证书,直接将证书安装到用户目录即可:设置-> 安全 -> 加密与凭据 -> 安装证书 -> CA证书,选择导出的证书并安装(需要用户授权验证)。
2. Root设备并已解锁system分区
直接使用adb命令推送证书到系统证书目录。此证书为hash.0格式,具体hash值请参考App内的说明。
adb root # restarting adbd as root adb shell avbctl disable-verification adb remount adb push 364618e0.0 /system/etc/security/cacerts/364618e0.0
警告
由于Android 14证书迁移到apex模块,故此方案仅适合Android 13及以下版本。
3. Android项目配置信任路径
如果您是Android开发者并拥有项目的修改权限。您可以直接将证书安装到用户目录,然后在项目中配置信任用户目录证书即可。
第一步:手机上安装证书:设置-> 安全 -> 加密与凭据 -> 安装证书 -> CA证书,选择导出的证书并安装(需要用户授权验证)。
第二步:创建 res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true"> <trust-anchors> <certificates src="system" /> <certificates src="user" /> </trust-anchors> </base-config> </network-security-config>
第三步:配置 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest> <application android:networkSecurityConfig="@xml/network_security_config"> ... </application> </manifest>
请在发行版本中移除此配置,更多有关网络安全配置文件资料,请参考:Android开发文档。
4. Android项目降低targetSdkVersion
如果您是Android开发者并拥有项目的修改权限。您可以直接将证书安装到用户目录,然后将项目的targetSdkVersion降低至23或以下。
第一步:手机上安装证书:设置-> 安全 -> 加密与凭据 -> 安装证书 -> CA证书,选择导出的证书并安装(需要用户授权验证)。
第二步:降低targetSdkVersion。
android { defaultConfig { ... targetSdkVersion 23 ... } }
5. Magisk模块安装到系统目录
Reqable应用内提供了Magisk模块安装包,可以一键安装证书到系统目录。支持Magisk和KernelSU,支持Android 5以上任何版本。
警告
KernelSU刷入模块后,可能需要需要授予Reqable Root权限,否则证书无法生效。
6. Chrome内核浏览器
最新版本Chrome内核浏览器对系统目录证书启用了CT日志验证,即使证书已经成功安装到系统目录,仍然会出现NET:ERR_CERTIFICATE_TRANSPARENCY_REQUIRED到问题。遇到这种问题,请将证书从系统目录中移除并安装到用户目录。Chrome内核浏览器默认会信任用户证书并不会进行CT日志验证。
7. Flutter应用
Flutter框架开发的Android应用程序只信任系统目录证书,不会信任用户目录证书,这个是写死在框架里面的。无论是配置network_security_config.xml还是降低targetSdkVersion均不会生效。
iOS
在iOS设备上安装证书非常简单,按照下面的操作即可。
首先,下载并安装描述文件(证书)。描述文件可以手动保存,也可以通过浏览器下载。
● 手动保存:点击右上角导出CA证书,在文件应用的Reqable文档目录下找到导出的CA证书,并手动复制或移动到上一级目录,点击证书后出现提示已下载描述文件。
● 浏览器下载:点击证书自动打开浏览器下载,下载完成后自动出现提示已下载描述文件。
第二步:打开 设置 -> 下载的描述文件 -> 选择文件 -> 安装 刚刚下载的描述文件。
第三步:信任证书,设置 -> 通用 -> 关于 -> 证书信任设置 -> 打开开关。
特殊情况
在一些特殊情况下,即使已经安装了证书可能也无法正常解析HTTPS流量,常见的有下面这些情况。
● 网络请求启用了固定证书,要求服务器返回指定签发的证书。
● 网络请求启用了双向验证,要求客户端也要上传证书给服务器进行验证。
● 应用使用了内置的CA证书验证,而不是使用系统的CA证书。
#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.27.0版本
- 【新功能】请求总览中显示应用信息。
- 【新功能】支持从HTTP原始请求报文导入API。
- 【新功能】支持更多强调色和用户自定义强调色。
- 【优化】请求总览自动记住各组数据的展开和闭合状态。
- 【优化】历史记录自动记住最后一次选择的类型。
- 【优化】生成cURL命令会包含协议版本。
- 【优化】增强cURL命令导入。
应用信息
热门推荐
更多版本
蓝鸟抓包高级版 6.55 MB 系统工具v4.8.6安卓版
查看黄鸟抓包高级版 6.55 MB 系统工具v4.8.6安卓版
查看HttpCanary(高级版) 6.55 MB 系统工具v4.8.6安卓版
查看小黄鸟app官方版 28.93 MB 系统工具v2.27.0安卓版
查看蓝鸟抓包app最新版 28.93 MB 系统工具v2.27.0安卓版
查看应用教程
实时热词
评分及评论
访问外部存储 访问外部存储的权限 ------------------------------------- 写入外部存储 允许程序写入外部存储,如SD卡上写文件 ------------------------------------- 访问网络 访问网络连接,可能产生GPRS流量 ------------------------------------- 获取网络状态 获取网络信息状态,如当前的网络连接是否有效 ------------------------------------- 获取WiFi状态 获取当前WiFi接入的状态以及WLAN热点的信息 -------------------------------------
点击星星用来评分