<!-- title: 8个开源神器：抓包造假调接口 -->

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

## 本期概述

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

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

---

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

**仓库**：[mitmproxy/mitmproxy](https://github.com/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](https://github.com/usebruno/bruno) | 数万星级（近年增速极快）| 持续维护中

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

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

**上手难度**：⭐⭐（会 Postman 就会 Bruno，迁移成本极低）

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

---

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

**仓库**：[hoppscotch/hoppscotch](https://github.com/hoppscotch/hoppscotch) | 数万星级 | 持续维护中

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

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

**上手难度**：⭐⭐（打开网页即用）

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

---

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

**仓库**：[mockoon/mockoon](https://github.com/mockoon/mockoon) | 万星级量级 | 持续维护中

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

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

**上手难度**：⭐⭐（全 GUI，零门槛）

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

---

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

**仓库**：[typicode/json-server](https://github.com/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](https://github.com/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](https://github.com/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](https://github.com/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 集成测试 |

## 本期全景图

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

## 本期之最

- **最值得立即尝试**：json-server。一条命令解决「后端没好前端干等」，十分钟就能融进你今天的开发流程。
- **最有商业潜力**：Hoppscotch。Web 平台 + 自托管 + 企业协作的路线在开源商业化里已被反复验证，生态卡位（多协议 + PWA）让后来者很难绕开。
- **最被低估**：httpYac。千级星数掩盖了它「一份 .http 文件横跨 IDE 与 CI」的独特价值，对轻量流程的团队几乎是零成本改造。

## 参考来源

1. [mitmproxy 官网](https://mitmproxy.org) — 项目定位、三种运行模式与 Python 扩展能力介绍
2. [usebruno/bruno](https://github.com/usebruno/bruno) — Bruno 官方仓库，.bru 文件格式与离线优先设计说明
3. [hoppscotch/hoppscotch](https://github.com/hoppscotch/hoppscotch) — Hoppscotch 官方仓库，多协议支持与自托管文档
4. [Mockoon 官网](https://mockoon.com) — Mockoon 桌面版与 CLI 的功能特性说明
5. [typicode/json-server](https://github.com/typicode/json-server) — json-server 官方仓库与使用文档
6. [wiremock/wiremock](https://github.com/wiremock/wiremock) — WireMock 官方仓库，stub 与录制回放能力文档
7. [Anweber/httpyac](https://github.com/Anweber/httpyac) — httpYac 官方仓库，CLI 与 VS Code 扩展说明
8. [LukeMathWalker/wiremock-rs](https://github.com/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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
