用途:用于 API 安全测试的交互式 TLS 拦截代理,可实时检查、修改与重放 HTTP/HTTPS 流量(API、移动应用、厚客户端),覆盖 HTTP/1、HTTP/2、HTTP/3 与 WebSocket。
主要能力与界面:mitmproxy 为交互式控制台界面;mitmweb 为 Web GUI(默认 http://127.0.0.1:8081);mitmdump 为命令行抓包与脚本工具。支持规则代理、透明代理、反向代理与上游代理等模式,可过滤、修改请求响应头与正文,拦截 WebSocket 消息。
必要用法:pip install mitmproxy;运行 mitmproxy、mitmweb,或 mitmdump -w traffic.flow;默认代理 localhost:8080。HTTPS 拦截需在客户端安装 mitmproxy CA 证书(浏览器可访问 http://mitm.it 下载,Android 用 adb push ~/.mitmproxy/mitmproxy-ca-cert.cer /sdcard/,iOS 安装描述文件并启用信任)。可用 mitmproxy -s api-test.py 载入 Python 插件,mitmdump -nc -r api-traffic.flow 重放流量,mitmdump --set hardump=./traffic.har 导出 HAR。
适用场景:手工 API 流量检查、移动应用 API 测试、自动化流量录制与重放、按 OWASP API Top 10 做认证/授权/输入校验与业务逻辑测试,以及 CI/CD 中通过 HTTP_PROXY/HTTPS_PROXY 走代理运行接口测试。
限制与注意事项:抓取流量可能含凭据、令牌与个人数据,需加密存储且不要提交版本库;应限制代理实例访问(mitmweb 可用 --web-user/--web-password);拦截生产流量前须获授权并符合 GDPR、PCI-DSS。证书固定需借助 Frida 或 SSL Kill Switch 等工具绕过;HTTP/3 需启用 --set http3=true。资料未提供收费、价格或具体平台支持信息。