用途:mitmproxy 是交互式、支持 TLS 的拦截型 HTTP 代理,面向渗透测试人员与开发者,用于实时检查、修改和重放 HTTP/HTTPS 流量,覆盖 API、移动应用与厚客户端,支持 HTTP/1、HTTP/2、HTTP/3 和 WebSocket。
主要能力:提供三种界面——mitmproxy(交互式控制台)、mitmweb(Web GUI,默认 http://127.0.0.1:8081)、mitmdump(命令行抓包与脚本)。支持 regular、transparent、reverse、upstream 四种运行模式;可过滤、修改请求头与响应体、拦截 WebSocket;可用 Python addon 脚本自动化测试,如认证测试、参数模糊测试、GraphQL 检查、HAR 导出。
使用方式:安装 pip install mitmproxy;启动 mitmproxy 或 mitmweb;客户端代理指向 localhost:8080;访问 http://mitm.it 下载并安装 CA 证书以拦截 HTTPS。抓包示例:mitmdump -w traffic.flow;重放:mitmdump -nc -r api-traffic.flow;脚本:mitmproxy -s api-test.py。
适用场景:API 安全测试、移动 App 测试、OWASP API Top 10 验证、CI/CD 自动化测试、流量记录与 HAR 分析。
限制与注意:拦截生产流量前须获得授权;抓包可能含凭据、令牌与 PII,需加密存储且勿提交版本库;mitmweb 可用 --web-user/--web-password 限制访问;证书固定需借助 Frida 等工具绕过;HTTP/3 支持为实验性(--set http3=true)。