我用 Rust 写了一个开源的 Charles 类抓包工具,Web 和手机都能抓
我用 Rust 写了一个开源的 Charles 类抓包工具,Web 和手机都能抓
先交代一句,免得误会:AIProxy 名字里带 “AI”,但它首先是个抓包、代理调试工具——抓 HTTP / HTTPS / WebSocket,改包、Mock、弱网,这些才是主力。“AI” 只用在其中一个辅助功能上(给两个会话的差异生成一段总结),不是什么 AI 代理。
项目地址先放这儿:github.com/small-dream/AIProxy,MIT 协议,免费开源,觉得有用欢迎 Star。

三栏主界面:左侧按域名分组的会话树,右侧请求/响应检查器,HTTPS 明文、Headers、JSON Body 在一屏里看完。
为什么又造一个
做这个项目,多少是被逼的。我日常离不开抓包——调接口、查 Cookie、看后端到底返了啥、给前端 Mock 个数据、抓段 App 的 HTTPS……抓包工具基本是我后台常驻的那个应用。
但用了一圈,总觉得很别扭:
- Charles 很强,但要钱。 试用期过了每隔半小时弹窗然后自动退出,自掏 50 刀有点肉疼。
- Fiddler 的好光景停在 Windows。 换到 Mac / Linux 体验打折,新版又走了订阅制。
- mitmproxy 能打,可它本质是命令行加 Python 脚本,想要个顺手的图形界面得自己搭。
- Proxyman 精致,可惜主力在 macOS,也收费。
- Wireshark 太底层,我想看 HTTP,它塞我一屏 TCP 流。
每个工具都有自己合适的位置。我只是想要一个免费、开源、三平台体验一致、界面现代、能解 HTTPS、还能顺手抓手机的桌面工具——找了一圈,我一直没找到满意的开源选择。那就自己写。
它是个啥
一句话:一个用 Rust + Tauri 2 + React 写的跨平台代理调试工具,目标是做一个免费开源、三平台体验一致的 Charles 类工具。
Windows、macOS、Linux 三端原生跑,HTTP / HTTPS / WebSocket 都能抓,还带规则改写、断点、弱网、脚本这些进阶能力。它不是又一个套壳 Electron,核心跑在 Rust 上,启动快、占内存少。
能做什么
| 分类 | 能力 |
|---|---|
| 抓包 | HTTP / HTTPS(MITM 解密)/ WebSocket,按域名分组的会话树,Header / Body / Cookie / Timing / JSON 高亮 |
| 改包 | Rewrite 改 Header / Body / 状态码(支持 JSON 字段级),Map Local / Map Remote,DNS 映射 |
| 拦截 | 请求 / 响应阶段断点,可改、可 Mock、可丢弃 |
| 造环境 | 弱网模拟(带宽 / 延迟 / 丢包,可定向规则),Compose 构造重发,Collections 批量执行 |
| 进阶 | 基于 QuickJS 的 JavaScript 脚本规则,会话对比 + AI 总结,流量洞察统计 |
| 抓手机 | iOS / Android / HarmonyOS,证书中心扫码配置 |
| 体验 | Material Design,亮 / 暗 / 跟随系统,中英双语跟随系统 |
Insights 页:概览卡片、分域名统计、状态码与方法分布,抓完包顺手看个大盘。

5 分钟,抓到你的第一条 HTTPS
先把电脑上的 Web 抓包跑通,目标:在 Sessions 里看到 HTTPS 的明文。
1. 下载。 GitHub Releases 下对应平台安装包。macOS 当前没签名,下载会提示「已损坏」,终端清一下隔离属性(右键打开在新版 macOS 绕不过去了):
xattr -cr /Applications/AIProxy.app
Windows 的 SmartScreen 可能拦一下,点「更多信息 → 仍要运行」。
2. 跟首启向导走。 第一次打开会弹引导,它判断「能不能抓 HTTPS」有明确标准:证书装好信任了、代理起来了、系统代理接管了,三件齐才算 ready。
3. 生成并信任根证书。 进 Certificates 页,生成根 CA,点「安装证书」,跟着系统弹窗确认写入信任链(macOS 入 Keychain 设始终信任,Windows 入「受信任的根证书颁发机构」)。装完启动按钮自动切到 HTTPS 解密模式——看到明文的关键。
4. 一键接管系统代理。 顶栏 System Proxy 开关点一下,代理指向本地端口,不用手动填。关掉时自动还原你原来的配置。背后按平台分别实现(Windows 注册表、macOS networksetup、Linux 区分 GNOME/KDE),对你就是一个按钮。
5. 抓它。 开浏览器访问任意 https 网站,回 Sessions——左边域名树实时冒请求,点开一条,右边就是明文请求和响应,Body 带 JSON 折叠高亮。闭环跑通。

点开任意一条 HTTPS 请求,响应 Body 直接是明文 JSON,还能折叠高亮。
抓 App,才是劝退题
Web 好抓,但很多人要的是抓手机 App 的流量,这才是最容易让人放弃的环节。难点不在工具,在三个前提和各平台藏起来的「信任」开关。这里只讲核心的坑,完整步骤应用内「文档」页和仓库 README 都有。
三件事必须齐:手机和电脑同一个 Wi-Fi;手机 Wi-Fi 代理手动指向电脑(主机填电脑局域网 IP,端口默认 8888);手机上装根证书并信任——装了不算,「信任」是另一步。
证书都在证书页的「移动端」标签里弄,有个二维码扫码下载,前置检查全绿了操作才解锁。
- iOS 真机:扫二维码下载描述文件 → 安装 → 然后一定要去 设置 → 通用 → 关于本机 → 证书信任设置 把开关打开。这一步漏了,就是典型的「装了却抓不到」。
- Android 真机:有 adb 能一键推送证书 + 设代理,但推送不等于安装,还得去系统设置(安全 → 凭据)手动确认装一下。Android 7 以上,用户证书默认不在应用信任链,只认系统证书的 App 可能得 root。
- HarmonyOS NEXT:用 hdc 推证书,但系统文件选择器常在「下载」目录里找不到文件——别死磕,直接换二维码下载安装。鸿蒙没有全局代理命令,代理在 Wi-Fi 设置里手动配。
- 模拟器(Android / iOS / 鸿蒙)不用折腾同一 Wi-Fi,基本走 adb / simctl / hdc,通常更顺。
还有一个拦路虎:证书锁定(Pinning)。支付、银行、部分大厂 App 把证书指纹写死在代码里,发现代理就拒绝,常规工具都没辙。判断方法:先用手机浏览器访问个 https 站点,能抓到说明链路没问题,问题在那个 App。
实在搞不定,证书页的运行诊断会一次性检查证书、adb / hdc、iOS 工具链,告诉你哪步不对。
Web 和手机的流量都能抓进来了。但抓到只是第一步,真正省时间的是抓到之后怎么改、怎么造数据——下一篇讲。
「AIProxy 实战」系列(共 3 篇):
- 抓:从 Web 到手机,跑通一个开源抓包工具(本篇)
- 改:抓到之后怎么改——从图形规则到 JS 脚本
- 测:弱网、造异常、对比回归,以及我为什么开源
项目地址:github.com/small-dream/AIProxy。装的过程遇到任何问题(证书信任、系统代理、手机抓包),欢迎在 issue 里贴上系统版本和截图,我帮你看看。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)