ApiCatcher 现已支持 Android
ApiCatcher for Android 现已上架 Google Play。至此,ApiCatcher 已覆盖 iOS、Android、macOS、Windows 四个平台。

实现原理
iOS 版基于 Network Extension 在系统底层拦截流量,App 里一键启动即可抓包,不依赖系统代理设置。Android 版沿用了相同的思路,底层实现换成了 Android 提供的 VpnService 机制。
启动抓包后,ApiCatcher 会创建一个 VpnService,通过 TUN 虚拟网卡捕获设备所有 IP 数据包。底层用 tun2proxy(Rust 原生库)解析 TCP 包,将 HTTP/HTTPS 连接透明转发至本地 127.0.0.1:8888。本地基于 Netty 的 MITM 代理服务器对 HTTP 流量直接转发并记录,对 HTTPS 流量通过 CONNECT 隧道 + 动态证书签发完成解密。整个过程应用层无感知,不需要改 WiFi 或蜂窝网络的代理配置。
核心能力
Android 版与 iOS 版核心能力对齐,不只是能抓包。
抓 HTTPS 和 WebSocket(WS/WSS)流量是基础能力,WebSocket 数据帧以聊天消息列表的方式展示,方便查看每条消息的收发内容。通过 Host 黑白名单可以过滤抓取不关心的请求,避免抓取到第三方APP的流量。
接口调试方面,重写规则支持 Mock 响应、改写请求/响应、正则替换请求/响应、重定向请求、丢弃请求/响应、延迟响应等重写行为,也支持通过脚本处理复杂的逻辑。支持快速重放请求,或编辑组合重放规则将多个请求按依赖编排执行顺序,支持依赖参数注入。
ApiCatcher 会在抓包过程中根据 HTTP 请求自动生成 API 文档,多次抓取同一接口会自动合并响应字段。文档可以导出到 Postman 或 Apifox,请求历史也会作为用例一并导出。除此之外,还支持导出 HAR 请求记录、提取图片/视频/音频等媒体文件。
ApiCatcher 还支持 DNS 映射、API 扫描、Protobuf 解码、定时重放等能力。
界面设计与 iOS 版保持一致,用户体验更友好。支持JSON、XML等代码高亮显示,提供多种代码高亮主题可供选择, 代码编辑器使用相同的高亮主题。 支持JSON搜索、路径折叠、JSON对比。 除此之外,提供十六进制视图查看二进制内容,支持渲染图片(包括SVG)、播放视频/音频。
上手说明
Android 抓 HTTPS 同样需要先安装并信任 CA 证书,但与iOS不同的是,Android 7 以上用户只能将 CA 证书安装到用户证书区,不能安装到系统证书区。因此在 Android 上使用 ApiCatcher 抓 App 的 HTTPS 流量,需要在 App 项目代码里配置信任用户证书。
CA 证书安装、HTTPS 抓包的限制说明、以及开发者如何抓自己 App 的配置方法,见 ApiCatcher for Android。
ApiCatcher for Android 支持 Android 11(API 30)及以上系统。