前言
Mitmproxy是一个免费的开源交互式的HTTPS代理。MITM即中间人攻击(Man-in-the-Middle Attack)。
mitmproxy 工具有以下三个组件构成
- mitmproxy 是具有 SSL/TLS 功能的交互式拦截侦听代理,具有用于HTTP/1,HTTP/2和WebSockets的控制台界面。
- mitmweb 是用于 mitmproxy 的基于 Web 的界面, 提供一个可视化界面帮助我们查看抓取的请求,可以修改返回内容。
- mitmdump 它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。
Addons 插件开发
Mitmproxy 的插件机制是 mitmproxy 的一个非常强大的部分。事实上,mitmproxy自己的大部分功能都是在一套内置插件中定义的,实现了从 anticaching 和sticky cookies 到我们的登录Web应用程序的所有功能。
插件通过响应事件与 mitmproxy 进行交互,这允许它们勾入并改变 mitmprox的行为。它们通过选项进行配置,这些选项可以在mitmproxy的配置文件中设置,用户可以交互更改,也可以通过命令行传递。最后,它们可以公开命令,这允许用户直接或通过将它们绑定到交互工具中的键来调用它们的操作。
一个简单的Addons 插件示例
"""
Basic skeleton of a mitmproxy addon.
Run as follows: mitmproxy -s anatomy.py
"""
from mitmproxy import ctx
class Counter: