MI
SOFTWARE

mitmproxy

mitmproxy 是一组支持 HTTP/1、HTTP/2、WebSocket 与 TLS 拦截的开源代理工具,包含交互终端、Web 界面和非交互命令行模式。

版本 12.2WindowsmacOSLinuxWSLDockerMIT

适合做什么

mitmproxy 适合开发、测试、隐私测量和经授权的安全分析,可通过终端、Web 界面或命令行自动化检查和修改 HTTP/HTTPS 流量。它不是普通下载加速代理,也不适合在不理解证书信任的情况下部署到日常设备。只需发送 API 请求时,HTTP 客户端比中间人代理更安全直接。

安装与版本边界

当前稳定版为 12.2。Windows、macOS 和 Linux 有官方二进制,另可通过 Python 工具或 Docker 使用。Linux 发行版仓库由各自维护,版本可能落后;预编译包中的依赖被冻结且不会原位更新,官方也不主动进行版本检查,因此使用者需要自行维护升级。

根证书意味着什么

首次运行会为当前配置目录生成独立 CA,客户端信任后,代理才能为访问域名动态签发拦截证书。持有该 CA 私钥的人能够伪造被信任的站点证书,因此不能分享配置目录,也不应在生产或私人日常设备长期保留。抓包正文可能包含令牌、会话和个人信息,保存与分享必须脱敏。

维护记录

本页于 2026-08-06 根据 mitmproxy 12.2 官网、安装、快速入门、证书和二进制安全说明复核。

DOWNLOAD

选择下载方式

链接最近检查:2026-08-06

下载前请核对资源版本和授权范围。本站不提供破解软件及未经授权的资料。

GUIDE

mitmproxy 安装与首次 HTTPS 抓包教程

下面以 12.2 为例,在受控测试环境中安装工具、设置本机代理、信任临时证书并检查一条 HTTPS 流量。

安装前准备

  • 只分析自己拥有或明确获准测试的设备、账号和接口,禁止截取他人通信或绕过生产应用安全措施。
  • 记录当前 HTTP/HTTPS 代理设置,并准备无敏感数据的测试站点与独立浏览器配置。
  • 决定使用交互终端、Web 界面、非交互命令、Python 工具或 Docker,避免同时混装多个版本导致 PATH 冲突。
01

安装步骤

  1. 01

    选择官方支持的安装方式

    macOS 可使用推荐的软件包方式,Windows 使用安装程序或独立二进制,Linux 优先官方独立包;发行版仓库包可能落后,Python 插件场景可用隔离工具安装。

  2. 02

    启动适合的前端

    终端交互使用 mitmproxy,浏览器界面使用 mitmweb,自动化输出使用 mitmdump。默认普通代理监听本机 8080 端口,确认端口未被其他服务占用。

  3. 03

    配置代理并安装临时 CA

    仅在测试浏览器或设备中设置当前电脑的代理地址,再通过内置证书安装页安装对应系统的 CA。证书私钥保存在用户配置目录,不得复制到不受控设备。

02

快速上手

  1. 01

    验证流量确实经过代理

    访问普通测试页面,在流量列表确认域名、方法和状态码出现;没有记录时先检查代理地址、防火墙和监听接口。

  2. 02

    检查 HTTPS 解密

    访问受控的 HTTPS 测试站点,确认可以查看请求头和正文。只处理必要域名,避免在同一浏览器登录真实账号。

  3. 03

    保存最小化测试记录

    只保存复现问题所需流量,分享前删除 Authorization、Cookie、查询参数、个人信息和响应正文中的秘密。

使用建议

  • 预编译包包含冻结的 Python 与 OpenSSL 依赖,工具本身不自动更新,安全测试机应建立人工升级计划。
  • Addon 可以执行任意 Python 逻辑,只运行已审阅脚本,并在隔离环境安装额外依赖。
  • Docker、远程设备和对外监听会扩大代理暴露面,默认只绑定受控接口,并用防火墙限制来源。
故障排查与卸载方法

设置代理后所有网站都报证书错误怎么办?

检查是否安装了当前实例生成的正确 CA、设备时间和证书信任范围。先撤销代理恢复联网,再重新安装,不要导入来源未知的根证书。

退出后浏览器无法联网怎么办?

把浏览器或系统代理恢复为原值,检查 PAC、环境变量和移动设备 Wi-Fi 代理。代理进程停止但客户端仍指向 8080 时会导致连接失败。

  1. 恢复代理并删除根证书停止进程,恢复所有测试设备的代理设置,再从系统、浏览器或 Java 证书库移除 mitmproxy CA。
  2. 清理配置与流量文件删除含私钥的用户配置目录和保存的流量前先确认没有复现需求;日志、脚本和导出文件也按敏感数据销毁。
FAQ

常见问题

mitmproxy、mitmweb 和 mitmdump 有什么区别?

mitmproxy 提供交互终端界面,mitmweb 提供本机 Web 界面,mitmdump 适合脚本和非交互输出。三者使用相同代理核心,可按操作方式选择。

安装证书后为什么仍看不到某些 HTTPS 内容?

客户端必须实际经过代理并信任当前生成的根证书。采用证书固定、自定义证书库或不走系统代理的应用仍可能失败,应使用有授权的调试构建处理。

mitmproxy 会自动检查和下载更新吗?

官方说明工具通常不会主动联网检查更新。预编译包冻结了 Python、OpenSSL 等依赖,应自行定期关注新版本并更新,避免长期使用含旧依赖的二进制。

下载时需要提取码吗?

夸克网盘无需提取码;百度网盘所需的四位提取码会直接显示在下载入口旁。