目录导航
mitmproxy - macOS 上的交互式 HTTPS 代理
概述
mitmproxy 是一款免费且开源的交互式 HTTPS 代理工具,专为开发人员、安全研究人员和网络管理员设计。它允许你拦截、检查、修改和重放网络流量,支持 HTTP/1、HTTP/2、HTTP/3、WebSockets 以及其他 SSL/TLS 保护的协议。
安装方式:
brew install mitmproxy
核心功能
🛠️ 命令行工具
- 流量拦截与检查:实时查看所有 HTTP(S) 请求与响应
- 协议支持:完整支持 HTTP/1、HTTP/2、HTTP/3 和 WebSockets
- 数据解码头:支持从 HTML 到 Protobuf 等多种消息格式的漂亮化和解码
- 动态修改:在流量到达目的地前拦截并修改特定消息
- 流量重放:将捕获的流量重新发送到客户端或服务器
- SSL/TLS 解密:透明地解密 HTTPS 流量进行分析
🌐 网页界面 (mitmweb)
- 图形化操作:在浏览器中直观操作 mitmproxy 的主要功能
- 类似 DevTools 体验:提供类似 Chrome DevTools 的界面,适用于任何应用程序或设备
- 附加功能:包含请求拦截和重放等高级功能
- 跨平台访问:通过网页界面从任何设备访问代理数据
🐍 Python API
- 完全可编程:通过 Python 脚本完全控制 mitmproxy
- 强大的扩展系统:编写自定义插件和脚本
- 灵活定制:自动修改消息、重定向流量、可视化数据或实现自定义命令
- 丰富示例:官方提供大量示例代码和社区贡献的插件
技术特点
强大的生态系统
mitmproxy 拥有活跃的插件生态系统,包括:
- mitmproxy/examples/contrib:社区贡献的插件集合
- mitmproxy2swagger:将 mitmproxy 捕获转换为 OpenAPI 3.0 规格
- kubetap:与 Kubernetes 服务交互的 kubectl 插件
应用场景
- 调试与测试:排查网络请求问题,测试 API 接口
- 隐私测量:分析应用程序的网络行为和隐私保护
- 渗透测试:安全研究人员进行网络安全评估
- 协议分析:研究和理解各种网络协议的工作方式
- 移动开发:调试移动应用的网络请求和响应
使用示例
# addon.py - 简单重定向示例
from mitmproxy import http
def request(flow: http.HTTPFlow):
# 重定向到不同主机
if flow.request.pretty_host == "example.com":
flow.request.host = "mitmproxy.org"
# 代理直接响应
elif flow.request.path.endswith("/brew"):
flow.response = http.Response.make(
418, # HTTP 状态码
b"I'm a teapot", # 响应体
)
优势亮点
🌟 专业优势
- 完全开源免费:MIT 许可证,无需任何费用
- 跨平台支持:完美支持 macOS、Linux 和 Windows
- 社区活跃:强大的社区支持和持续更新
- 易于集成:可与现有开发流程无缝集成
🎯 效率提升
- 实时监控:无需重启应用即可查看网络流量
- 批量操作:自动化处理复杂的流量修改任务
- 可重复性:轻松保存和重放测试场景
- 教学工具:优秀的协议学习和教学工具
🔒 安全可靠
- 本地代理:所有数据都在本地处理,无需担心数据泄露
- 证书透明:提供自签名证书,完全掌握加密过程
- 可控性强:完全掌握哪些流量被拦截和修改
系统要求
- 操作系统:macOS 10.14 或更高版本
- Python 支持:Python 3.7+(用于脚本编写)
- 内存:建议至少 4GB RAM
- 存储空间:约 100MB 可用空间
获取支持
- 开发者交流:活跃的开发者社区和聊天室
- 文档:完整的技术文档和用户指南
- 赞助商支持:受到多家企业和个人赞助商的支持
总结
mitmproxy 是 macOS 平台上功能最强大的网络调试工具之一,无论你是在开发复杂的 web 应用、测试 API 接口、进行安全研究还是简单地想了解应用程序的网络行为,它都能提供无与伦比的灵活性和控制力。结合其免费的开放源代码特性和活跃的社区支持,mitmproxy 已成为开发者和安全专家不可或缺的工具之一。
本站所有软件全部同步自 Awesome mac项目;内容全部由 Awesome mac项目整理获得,应用版权归原作者所有。
相关推荐
Paw
Paw是macOS上一款专业的REST API客户端,专为开发者设计。提供直观的界面和强大的功能,支持HTTP请求、响应测试、JSON/XML编辑及自动化工作流,是API开发和调试的高效工具。
Proxie
Proxie是一款macOS网络调试工具,可实时拦截、检查和修改HTTP/HTTPS流量,帮助开发者轻松调试API接口和网络请求,提升开发效率。
Proxyman
Proxyman 是 macOS 上一款现代化的网络调试代理工具,专为开发者和测试人员设计。支持捕获和查看 HTTP/HTTPS 流量,解密 HTTPS 请求,并提供清晰直观的界面分析网络性能,帮助快速定位和解决网络问题。
Wireshark
Wireshark是macOS上功能强大的免费开源网络协议分析器,支持实时捕获和深度解析数百种网络协议,提供强大的过滤功能与流量统计,是网络管理员、安全专家和开发人员进行网络故障排查和安全分析的必备工具。
bruno
Bruno是一款创新的API测试工具,采用本地文件存储设计,完美支持Git版本控制。提供REST和GraphQL测试功能,轻量快速,是团队协作开发API的理想选择。
Charles
Charles是强大的HTTP代理/监控工具,支持SSL代理、流量抓取和API调试,帮助开发者分析网络请求、调试移动端和Web应用,是macOS上优秀的网络调试利器。

评论