用 Rust + Tauri 2 + Vue 3 写了个开源抓包工具,安装包只有 8MB

47 阅读2分钟

日常联调里,抓包工具基本是刚需,但好用的要么收费、要么太重。所以我用 Rust 做代理内核 + Vue 3 做界面 + Tauri 2 打包,写了一个跨平台抓包工具 NetCapture,Mac 安装包 8MB 出头,好看、好用。

image.png

为什么用 Tauri 而不是 Electron

Electron 空壳就一百多 MB,而这个工具的代理内核本来就是 Rust。用 Tauri 可以直接复用同一套 Rust 代码,省掉一层 IPC,包体积和内存都下来了,最终 Mac 包 8MB 左右。

核心能力

  1. 零配置 打开即监听 9527 端口;一键装根证书;「抓本机请求」自动接管系统代理,退出或强退都能还原,不会出现"关了工具就断网"。

  2. 编解码与字符集 gzip / deflate / br / zstd 自动解压;按 Content-Type / BOM / HTML meta 判断字符集,GBK、Big5、Shift_JIS 统一转 UTF-8;JSON 格式化不走 JSON.parse,规避大整数精度丢失。

  3. 规则引擎 按 URL 通配匹配,6 种动作:整包替换、改 JSON 字段(如 data.list[*].status = "failed")、映射到 URL、映射到本地、注入 vConsole、弱网。规则可分组、可导出 JSON 共享,命中的请求带标记并显示改动明细。

  4. 请求重放 编辑方法 / URL / 头 / 体后重发,最多 50 次并支持并发,直接测接口幂等。

  5. Host 映射 域名(支持通配)指向指定 IP,只换连接目标,Host 头与 TLS 校验仍按原域名,切环境不断链。

  6. 可观测范围控制 解密白 / 黑名单、按域名 / 应用 / 资源类型划定抓包范围,范围外照常转发但不记录。

  7. 导出 复制 cURL、导出 HAR(含响应体与 WebSocket 消息),可直接拖进 Chrome DevTools。

已知限制

SSL Pinning 无法解密;Android 7+ 的 App 不信任用户证书;不走系统代理的程序抓不到。这是中间人抓包的固有限制。

下载地址

gitee.com/niboac/net-…

欢迎试用、Star、提 Issue,有想加的功能也欢迎评论里说。