mitmproxy:一个拦截代理,三种用法

mitmproxy:一个拦截代理,三种用法

mitmproxy 在 GitHub 上已经拿到 43,525 Star 了。

这个项目提供了一套 HTTP 拦截代理工具,支持 SSL/TLS 解密,覆盖 HTTP/1、HTTP/2 和 WebSocket。它自带三种交互方式:命令行界面、纯命令行工具、Web 界面,分别对应不同的使用场景。

正文顶部截图

1、这玩意儿是干嘛的

核心功能就一个:拦截和分析 HTTP 流量。

在客户端和服务器之间搭一个中间人,所有请求和响应都经过它,你可以实时查看、修改、重放。因为支持 SSL/TLS,所以 HTTPS 流量也能解密查看。

README区域截图

2、三种工具,三种用法

mitmproxy 不是单一工具,而是三个:

mitmproxy:带交互式控制台界面的拦截代理。启动后进入一个 TUI 界面,用键盘导航查看请求列表、详情、流量统计。适合在现场调试时快速翻查。

mitmdump:纯命令行版本,类似 tcpdump 的 HTTP 版。没有交互界面,直接输出流量到终端或文件,适合脚本化、自动化场景,比如 CI 流水线里抓包验证。

mitmweb:Web 版界面。在浏览器里打开就能用,有图形化的请求列表和详情页,适合不习惯命令行的人,或者需要截图分享调试结果的时候。

三种工具共用同一套核心,抓包逻辑完全一致,只是交互层不同。你习惯哪种就用哪种,随时切换。

3、能干什么

API 调试:前后端联调时,看请求参数、响应体、状态码,不用在代码里打日志。请求发出去没反应,第一反应不再是怀疑代码,而是打开 mitmproxy 看看到底发生了什么。

HTTPS 解密:安装根证书后,可以查看加密流量的明文内容。测试自己的服务时很有用,但别用在别人的网站上。

请求重放:把某个请求保存下来,修改参数后重新发送,快速验证接口行为。不用写脚本,不用开 Postman,在界面里按几个键就能完成。

流量录制:用 mitmdump 把一段时间内的所有流量存成文件,事后离线分析。排查偶现的 Bug 时,先把流量录下来,再慢慢翻。

自动化测试:在测试脚本里嵌入 mitmdump,验证应用发出的请求是否符合预期。比如确认某个按钮点击后确实调了正确的接口,参数也没错。

4、安装

Python 用户直接 pip:

pip install mitmproxy

装完后三个命令都可以用:mitmproxymitmdumpmitmweb

也可以去官网下载预编译的二进制文件,Windows、macOS、Linux 都有。

5、适合哪些人用

  • 做 Web 开发、需要调试 HTTP/HTTPS 请求的开发者
  • 做 API 测试、需要抓包验证接口行为的测试工程师
  • 做安全分析、需要审计网络流量的人
  • 做自动化测试、需要在 CI 里集成流量抓取的团队

项目文档在 mitmproxy.org,有完整的教程和命令参考。

posted @ 2026-06-15 17:17  cloudnine36  阅读(44)  评论(0)    收藏  举报