跳过内容

MASTG-TOOL-0097: mitmproxy

mitmproxy 是一个免费且开源的交互式 HTTPS 拦截代理。

  • 命令行: mitmdump 是 mitmproxy 的命令行版本。可以把它想象成 HTTP 的 tcpdump。它可以用来拦截、检查、修改和重放网络流量,例如 HTTP/1、HTTP/2、WebSockets 或任何其他受 SSL/TLS 保护的协议。你可以美化和解码各种消息类型,从 HTML 到 Protobuf,实时拦截特定消息,在它们到达目的地之前修改它们,并在以后重放给客户端或服务器。
  • Web 界面: mitmweb 是 mitmproxy 的基于 Web 的界面。它为你提供与 Chrome DevTools 类似的体验,以及请求拦截和重放等额外功能。
  • Python API: 使用 mitmdump 编写强大的插件和脚本 mitmproxy。脚本 API 提供对 mitmproxy 的完全控制,并使其能够自动修改消息、重定向流量、可视化消息或实现自定义命令。

安装

brew install mitmproxy

安装说明在此

用法

文档在此。Mitmproxy 默认以常规 HTTP 代理启动,并在 https://:8080 上侦听。你需要配置你的浏览器或设备以将所有流量通过 mitmproxy 路由。例如,在 Android 模拟器上,你需要按照此处指示的步骤操作。

例如,要将所有流量捕获到一个文件

mitmdump -w outfile

这将运行 mitmproxy 和 add_header.py 脚本,该脚本只是向所有响应添加一个新标头。

mitmdump -s add_header.py