首页 › weekly › 8个开源神器:抓包造假调接口

开发者工具特辑:API 调试、Mock 与抓包的 8 个开源答案

本期概述

写代码的日常里,最磨人的三件事:接口还没写好,前端干等;联调出了问题,中间经过谁的流量说不清;第三方接口又挂了,测试被迫中断。本期第 5 轮挖掘,绕开 AI 应用、自托管、机器人这些前几轮已覆盖的热门赛道,专挖「网络调试」这条被大厂收费软件(Postman、Charles、Stoplight)把持多年的老赛道上的开源玩家,从抓包代理、API 客户端、Mock 服务器到造假数据神器,8 个仓库从万星老牌到千级新星都有。

数据口径说明:本期发稿时未能联网逐一核验,文中 Star 数为量级参考,精确数字请以仓库页面为准。


1. mitmproxy — 程序员自己的抓包显微镜

仓库:mitmproxy/mitmproxy | 万星级 | 持续维护中

一句话定位:可编程的 HTTPS 中间人代理,Charles Fiddler 的开源替身,但不只是抓包——你能用 Python 重写所有流量。

痛点与玩法:调试 App 与小程序时,你经常需要看「客户端到底发了什么」。mitmproxy 装好它的 CA 证书后即可解密 HTTPS 流量,手机设个代理就能用。它提供三个入口:mitmproxy(终端交互式)、mitmweb(浏览器界面)、mitmdump(无头模式挂 CI)。真正的杀手锏是 Python 钩子:写一个 def request(flow) 函数,就能改写请求头、伪造响应、注入延迟,甚至把指定域名流量重放到测试环境。安全研究、爬虫逆向、联调甩锅三件套全靠它。

上手难度:⭐⭐⭐(证书配置是第一道坎)

适用人群:后端、客户端开发、安全测试。二次开发方向:基于 mitmdump 做行业流量审计网关(如小程序合规检测),已有商业公司走通这条路。


2. Bruno — 请求集合放进 Git 的 API 客户端

仓库:usebruno/bruno | 数万星级(近年增速极快)| 持续维护中

一句话定位:离线优先、Git 友好的开源 API 客户端,把 Postman 最被诟病的「锁在云里的集合」还给你。

痛点与玩法:团队 API 集合存在 Postman 云上,新人入职要账号、接口变更没有版本历史、公司还担心敏感环境变量上云。Bruno 的解法非常彻底:每个请求是一个纯文本 .bru 文件,集合就是一个文件夹,git commit 即协作,diff 一眼看清谁改了哪个参数。它支持环境变量、断言、前后置脚本,桌面端基于 Electron,完全离线可用,没有强制登录。项目社区氛围激进「反订阅」,官方明确表示核心功能永久免费,这在 Postman 越来越重的当下是稀缺态度。

上手难度:⭐⭐(会 Postman 就会 Bruno,迁移成本极低)

适用人群:所有写接口、调接口的团队。变现观察:官方靠团队协作等增值功能收费,属「开源核心 + 商业上层」的标准打法,值得独立开发者研究其社区运营节奏。


3. Hoppscotch — 浏览器里的轻量 API 工作台

仓库:hoppscotch/hoppscotch | 数万星级 | 持续维护中

一句话定位:从 Postwoman 进化而来的 Web 端 API 开发生态,打开浏览器就能调 REST、GraphQL、WebSocket。

痛点与玩法:不想装任何桌面软件、临时借一台电脑要调接口、想给测试同事一个免安装的调试链接——Hoppscotch 就是为这些场景生的。它是个 PWA,网页即应用,覆盖 REST、GraphQL、WebSocket、SSE、MQTT 等协议,配合浏览器扩展可解决跨域限制。除了在线版,它支持 Docker 自托管整个平台,数据留在自己服务器上;官方另有面向企业的协作版本。界面响应速度是同类桌面软件难以匹敌的,这也是它在 GitHub 上长期霸榜的最大资本。

上手难度:⭐⭐(打开网页即用)

适用人群:全栈开发者、自由职业者、教学演示。二次开发方向:以自托管版为基础给公司内网包一层「接口调试门户 + 权限审计」,是现成的企业内工具生意。


4. Mockoon — 鼠标点两下,假接口就上线

仓库:mockoon/mockoon | 万星级量级 | 持续维护中

一句话定位:带图形界面的本地 Mock 服务器,不会写后端也能一分钟造出一套像模像样的 API。

痛点与玩法:后端接口没好、第三方沙箱限流、演示环境不稳定,Mock 是前端的救命稻草。市面工具大多要手写配置文件,Mockoon 把这件事做成了可视化:新建环境 → 加一条路由 → 填响应体 → 保存即监听端口,CORS、代理回源、HTTPS、响应规则全都是开关。它支持模板语法动态生成数据(比如随机用户列表)、按请求头/体匹配返回不同响应,还有专门的 CLI 版本可以塞进 CI 流水线,让自动化测试不再依赖真实环境。对独立开发者来说,它也是给客户做交互原型演示的利器。

上手难度:⭐⭐(全 GUI,零门槛)

适用人群:前端、移动端、测试工程师。变现思路:基于 Mockoon CLI 封装「契约即服务」,把 OpenAPI 文档自动转成托管 Mock 环境,按团队订阅。


5. json-server — 30 秒造一整套 REST API

仓库:typicode/json-server | 七万星级量级(GitHub 历史级热门项目)| 持续维护中

一句话定位:一个 JSON 文件就是一整套带增删改查的 REST API,前端独立开发的祖师级神器。

痛点与玩法:写一个 db.json,里面放几段 JSON 数据,npx json-server db.json 一跑,你就拥有了完整 REST 接口:GET/POST/PUT/PATCH/DELETE 全支持,还自动附带过滤(?id=1)、分页(_page、_limit)、排序(_sort)、关系嵌套(_embed、_expand)等一整套查询能力,静态资源托管也顺手做了。它出自 typicode 之手(lowdb、husky 同一作者),以极简哲学闻名,是无数前端教程里的常客。近年作者用 TypeScript 重写了新版,聚焦核心能力,把扩展性交给插件与中间件生态。

上手难度:⭐(一条命令入门,全场最低)

适用人群:前端原型、面试 demo、移动端开发自给自足。二次开发方向:把它包一层 Web 界面变成「给非程序员的假数据生成器」,教育市场巨大。


6. WireMock — JVM 世界的 Mock 契约标杆

仓库:wiremock/wiremock | 数千至万星级量级 | 持续维护中

一句话定位:Java 生态事实标准的 HTTP Mock 服务器,录制回放 + 故障注入 + 契约测试三合一。

痛点与玩法:企业级集成测试的难点不是造数据,而是让测试可重复:第三方接口返回慢怎么办?超时怎么办?返回 500 怎么办?WireMock 用 JSON 声明式 stub 定义请求匹配与响应规则,天然支持延迟注入、故障模拟,让「下游抖动」在单机测试里随意复现。它的录制回放模式更妙:把真实环境流量录下来,离线回放,微服务团队拿它做消费者驱动的契约测试。既能 java -jar 或 Docker 独立部署,也能嵌入 JUnit 测试进程,Spring Cloud Contract 底层就是它的思想延伸。

上手难度:⭐⭐⭐⭐(JSON stub 语法和匹配器体系有学习成本)

适用人群:Java/Kotlin 团队、微服务架构师。商业观察:围绕契约测试的咨询与平台化(如托管 stub 服务)是明确的付费场景。


7. httpYac — .http 文件派的命令行利器(小而美)

仓库:Anweber/httpyac | 千星级量级 | 持续维护中

一句话定位:把 .http 文件变成可编程 API 测试脚本的 CLI 工具,JetBrains/VS Code 系之外的第三条路。

痛点与玩法:IDE 里的 REST Client 插件好用,但只能在编辑器里点;CI 里想跑同一套请求就抓瞎。httpYac 把 .http 语法搬到了命令行:同一个文件,白天在 VS Code 扩展里点着调试,晚上 httpyac xxx.http --env ci 直接进流水线,一份文件两种用法。它支持环境变量切换(@env)、JavaScript 前后置脚本、断言、变量捕获(上一个请求的 token 自动喂给下一个请求),协议覆盖 HTTP 之外还延伸到 GraphQL、WebSocket 等。相比同类,它的「文件即测试」理念让接口文档和回归用例天然合一。

上手难度:⭐⭐⭐(.http 语法简单,脚本钩子要花点功夫)

适用人群:轻量测试派、CLI 爱好者、小团队。星星不多但复用价值极高,是本期「小而美」代表之一。


8. wiremock-rs — Rust 测试里的隐形 Mock 服务器(小而美)

仓库:LukeMathWalker/wiremock-rs | 千星级量级 | 维护中

一句话定位:Rust 生态的异步 Mock HTTP 服务器库,几行代码让集成测试不再依赖真实下游。

痛点与玩法:Rust 项目写集成测试时,依赖的外部 HTTP 服务让测试又慢又脆。wiremock-rs(作者 Luca Palmieri 是《Zero To Production In Rust》作者、Rust 社区名人)把 WireMock 的思想浓缩成一个嵌入式库:MockServer::start() 起本地服务,用类型安全的匹配器声明「收到什么请求就回什么」,测试结束自动关闭。它原生 async、随机端口并行跑多个用例互不干扰,还支持设置调用次数期望来验证「下游到底被调了几次」。名字蹭前辈,但 API 是地道的 Rust 风格,读起来像在描述行为而非配置。

上手难度:⭐⭐⭐⭐(需要 Rust 异步与测试生态基础)

适用人群:Rust 后端工程师。作为依赖库它星数不高,却在 Rust 集成测试模板项目里出场率极高,典型的「星星不多、地位很硬」。


本期横向对比

仓库 类型 Star 量级 上手难度 最佳场景
mitmproxy 抓包代理 万星+ ⭐⭐⭐ 流量分析、安全测试
Bruno API 客户端 数万星 ⭐⭐ 团队 Git 协作调试
Hoppscotch Web API 平台 数万星 ⭐⭐ 免安装调试、自托管
Mockoon GUI Mock 服务器 万星量级 ⭐⭐ 前端等后端、演示原型
json-server 假 API 生成器 七万星量级 ⭐ 原型与教学
WireMock JVM Mock 标杆 数千~万星 ⭐⭐⭐⭐ 微服务契约测试
httpYac CLI API 测试 千星级 ⭐⭐⭐ .http 文件 + CI 回归
wiremock-rs Rust 测试库 千星级 ⭐⭐⭐⭐ Rust 集成测试

本期全景图

mindmap
  root((API调试开源全家桶))
    看流量
      mitmproxy
        可编程中间人代理
        Python钩子改写
    发请求
      Bruno
        Git友好
        离线优先
      Hoppscotch
        浏览器即用
        可自托管
      httpYac
        .http文件
        一份文件跑CI
    造假接口
      json-server
        一个JSON文件
        自动增删改查
      Mockoon
        可视化配置
        CLI进流水线
      WireMock
        契约测试
        录制回放
      wiremock-rs
        Rust嵌入式
        异步并行

本期之最

参考来源

  1. mitmproxy 官网 — 项目定位、三种运行模式与 Python 扩展能力介绍
  2. usebruno/bruno — Bruno 官方仓库,.bru 文件格式与离线优先设计说明
  3. hoppscotch/hoppscotch — Hoppscotch 官方仓库,多协议支持与自托管文档
  4. Mockoon 官网 — Mockoon 桌面版与 CLI 的功能特性说明
  5. typicode/json-server — json-server 官方仓库与使用文档
  6. wiremock/wiremock — WireMock 官方仓库,stub 与录制回放能力文档
  7. Anweber/httpyac — httpYac 官方仓库,CLI 与 VS Code 扩展说明
  8. LukeMathWalker/wiremock-rs — wiremock-rs 官方仓库与 Rust 测试用法

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入