首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
AI 工具与工作流
发新帖
2
2
[原创]轻量全功能流量分析MCP:mitmproxy-mcp
发表于: 2026-6-23 23:21
2091
[原创]轻量全功能流量分析MCP:mitmproxy-mcp
Oo0_qbpd_0oO
2026-6-23 23:21
2091
# mitmproxy-mcp > **GitHub:** <mark class="encrypted">5d7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6#2x3K6y4H3K9#2)9J5c8X3#2A6N6r3#2H3M7X3!0^5P5g2)9J5k6r3#2U0M7l9`.`.</mark> > **概括:** 将 mitmproxy 的 HTTP/HTTPS 流量能力变成 AI 的工具箱。开箱即用,轻量但完整。 --- ## 1. 实时流量捕获:从 HTTP/1.1 到 HTTP/3 (QUIC) 启动代理后,所有流经它的 HTTP/HTTPS 流量自动记录。支持按域名、方法、状态码或关键词搜索过滤,大响应体自动返回结构摘要,避免占满 AI 上下文。JSON 响应支持 JSONPath 提取特定字段。 **协议覆盖全面**:不只是 HTTP/1.1,原生支持 **HTTP/2** 和 **HTTP/3 (QUIC)**。每条流记录完整的协议元数据——HTTP 版本、TLS 版本、ALPN 协商结果(`h2`/`h3`)、SNI。在 WireGuard 模式下,UDP/QUIC 流量被透明路由到代理,可完整观察 HTTP/3 连接建立过程。这对调试现代 Web 应用(CDN 和主流网站已默认使用 HTTP/3)非常有价值。 **漏斗式捕获过滤**:通过 `include`/`exclude` 规则精准控制哪些流量被保存。先过基础过滤器,exclude 命中即丢弃,include 存在时则必须命中至少一条才被存储——确保 AI 上下文始终聚焦高价值流量,不被静态资源和心跳噪音淹没。 --- ## 2. 流量重放与实时规则修改 捕获的请求可以直接重放,也可以在重放前修改方法、路径、请求头或请求体。AI 无需手写 curl 命令,一句话就能复现请求或注入新的 Token 后重放。 **自动规则引擎**支持 12 种动作:增删 header、替换 body(支持正则)、修改 HTTP 方法或路径、强制返回状态码、注入延迟、中断连接、拦截暂停、标记注释等。规则使用 mitmproxy 原生过滤表达式预编译,性能开销极小。已应用的规则 ID 记录在流量元数据中,方便追溯。 --- ## 3. WebSocket 全链路管理 WebSocket 在大多数代理工具中只能记录 Upgrade 握手,后续消息是黑盒。mitmproxy-mcp 提供完整的生命周期管理: - **捕获**:文本消息直接可读,二进制消息自动 base64 编码,按帧积累在会话中。 - **注入**:向已建立的连接主动发送消息(客户端或服务端方向),测试异常处理能力。 - **主动连接**:AI 自己发起 WebSocket 连接(通过代理),完整观察会话过程。 - **消息规则**:对实时消息按方向(客户端/服务端/双向)和内容正则匹配,执行丢弃、替换或正则替换。第一个匹配规则生效即停止,语义清晰。 --- ## 4. 用户自定义加解密(CryptoHandler) 对于前端/APP 使用了自定义加密协议的流量,编写一个 Python 脚本即可实现透明加解密。脚本继承基类,实现 `decrypt_request`/`encrypt_request` 等方法,加载后 AI 看到的是明文,修改后重放时自动重新加密。 **解密-编辑-加密闭环**:AI 不需要理解加密算法,只需操作明文。脚本被注入全局流量存储(可从历史流量提取密钥)和独立的 `context` 字典(跨请求状态缓存,如保存登录接口返回的密钥供后续复用)。加解密失败时通过 `error` 字段向 AI 清晰报告原因。 > ⚠️ 安全提示:此功能会执行用户指定的 Python 文件,请只加载可信脚本。 --- ## 5. WireGuard 模式:移动端透明代理 支持 **WireGuard VPN 模式**,启动时自动生成服务端和客户端密钥,返回可直接导入手机 WireGuard 客户端的 INI 配置。 手机上无需手动配置 HTTP 代理,无需担心 APP 忽略系统代理设置——**所有流量**(包括 HTTP/3 QUIC)透明经过代理。只需安装 WireGuard 客户端、导入配置、安装 mitmproxy CA 证书,即可让 AI 实时分析手机上的全部网络流量。这是移动端抓包的终极方案。 --- ## 6. Mock 服务器与 URL 映射 - **Mock 服务器**:将捕获的流量变成本地 Mock 服务器,匹配请求直接返回录制响应,不触碰真实后端。与重放的区别:Mock 拦截入站请求本地响应,重放是向真实服务器重新发送。支持灵活匹配(忽略 host、端口、参数或 body)。 - **Map Local**:将 URL 匹配到本地文件或目录,前端请求接口时直接返回本地 mock 数据。 - **Map Remote**:将 URL 重写为另一个地址,比如生产环境流量全部重定向到 staging,用于测试环境切换。 规则同步到 mitmproxy 原生选项,由 mitmproxy Addon 实际执行,性能稳定。 --- ## 7. HAR 1.2 互操作与证书管理 **HAR 导入/导出**:与 Chrome DevTools、Charles、ProxyMan 等工具生态打通。二进制内容自动 base64 编码,格式异常的 entry 跳过不中断整体导入,`application/x-www-form-urlencoded` 表单数据也能正确重建。 **证书管理**:独立封装,不依赖代理启停。支持一键导出 CA 证书、启用/禁用上游证书校验、指定自定义 CA、mTLS 客户端证书(支持 passphrase)。所有配置在代理重启后仍然有效,运行期间修改即时生效。 --- ## 8. 只读资源与渐进文档 **7 个只读 MCP 资源**:代理状态、流量列表(轻量摘要)、单条详情、规则快照、事件日志、加解密脚本状态、CA 证书状态。AI 客户端可以像读取文件一样直接获取状态,减少工具调用次数。 **渐进式文档**:12 个工具保持文档极简(一行摘要 + 命令列表),详细参数和示例放在 `tool_info` 中按需获取。保持静态 tool schema 足够小,不淹没 AI 的 function calling 能力。 --- ## 双传输模式 - **stdio 模式**(默认):标准输入输出,即插即用,开箱兼容 Claude Desktop。所有日志强制写入 stderr,stdout 保持绝对干净。 - **SSE 模式**:服务器推送事件,适合远程客户端、Claude Code、Cursor 或自定义 Web 控制台。同一套工具逻辑,无需改动。 --- ## 与 BurpMCP-Ultra 的对比 <a href="elink@f29K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6o6P5g2)9J5k6q4x3K6j5#2)9J5c8V1u0#2M7Y4m8y4b7#2m8Q4x3X3c8g2L8s2c8J5j5b7`.`.">BurpMCP-Ultra</a> 是另一个优秀的 MCP 代理项目,基于 Burp Suite Professional 构建,拥有 137 个工具。以下是两者的核心差异。 ### 定位差异 | 维度 | mitmproxy-mcp | BurpMCP-Ultra | |------|--------------|---------------| | **核心定位** | 通用 HTTP/HTTPS 流量代理 + AI 工具箱 | Burp Suite Pro 的 AI 扩展,专注安全测试 | | **底层引擎** | mitmproxy(开源,Python) | Burp Suite Pro(商业软件,Java/Kotlin) | | **工具数量** | 12 个工具 + 7 个资源 | 137 个工具 + 14 个资源 + 12 种事件 | | **传输模式** | stdio(默认)+ SSE | 仅 SSE(stdio 需 supergateway 桥接) | | **部署门槛** | Python 3.13+ + `uv pip install` | Burp Suite Pro 许可证 + Java 21 + Gradle 构建 JAR | | **体积** | 纯 Python,无额外 GUI | 13MB JAR + Burp Suite 本体 | ### mitmproxy-mcp 的轻量优势 **1. 开箱即用,零商业依赖** mitmproxy-mcp 基于开源的 mitmproxy 引擎,无需购买 Burp Suite Professional 许可证。安装只需 `uv pip install -e .`,一条命令启动。对于个人开发者、学生、开源项目或预算有限的团队,这是决定性的门槛差异。 **2. stdio 原生支持,agent 即插即用** mitmproxy-mcp 默认使用 stdio 传输,直接兼容大多数code agent,无需任何桥接工具。BurpMCP-Ultra 仅支持 SSE,要在 不支持SSE-MCP的 agent 中使用必须安装 supergateway 做协议转换,配置步骤明显增加。 **3. 协议覆盖更广:HTTP/3 + WireGuard** mitmproxy-mcp 原生支持 HTTP/3 (QUIC) 流量分析,这是 Burp Suite 目前能力较弱的领域。WireGuard VPN 模式更是独特功能——移动端零配置透明代理,无需 Root 即可捕获手机上所有流量(包括 HTTP/3)。BurpMCP-Ultra 依赖 Burp 的代理架构,在移动端透明代理和 QUIC 处理上没有同等便利。 **4. 自定义加解密(CryptoHandler)** mitmproxy-mcp 的 CryptoHandler 脚本机制允许用户用 Python 编写透明加解密逻辑,注入全局流量存储和跨请求状态缓存。这是 BurpMCP-Ultra 目前没有明确对应的功能。对于分析前端自定义加密、APP 私有协议的开发者来说,这个能力非常实用。 **5. 架构简洁,二次开发门槛低** mitmproxy-mcp 的代码架构非常清晰:FastMCP 服务器层 + mitmproxy Addon 层,通过 `asyncio.run_coroutine_threadsafe` 桥接。想添加新功能?写一个新的 Addon 注册到 `DumpMaster` 即可。BurpMCP-Ultra 基于 Burp 的 Montoya API 和 Kotlin 生态,虽然功能强大,但扩展门槛和调试复杂度更高。 ### mitmproxy-mcp 的不足 (未来选择开发) **1. 没有漏洞扫描能力** 这是最大的功能缺口。BurpMCP-Ultra 提供完整的扫描工具链:`scanner_start_audit`(主动/被动扫描)、`scanner_start_crawl`(爬虫)、BCheck 自定义检查脚本、Script Mode 多步骤主动检查。它还支持 `scanner_generate_report` 生成 HTML/XML 扫描报告。mitmproxy-mcp 没有这些能力——它只能捕获和修改流量,不能主动发现 SQL 注入、XSS、CSRF 等漏洞。 **2. 没有被动情报提取(资源探测)** BurpMCP-Ultra 的 `passive_intel` 工具可以扫描所有捕获流量,自动提取 30+ 种敏感数据模式:AWS 密钥、GitHub Token、JWT、内部 IP、邮箱、S3 Bucket 等。这是安全测试中的信息收集利器。mitmproxy-mcp 没有内置这类被动情报提取功能,AI 只能手动查看流量内容来发现敏感信息。 **3. 没有 Fuzzer 和 Race Condition 测试** BurpMCP-Ultra 提供三种模式的 Inline Fuzzer(FUZZ 关键字、Section Marker、Offset)、Race Condition 测试(单包攻击)、Response Variation Analysis(盲注检测)。这些都是安全测试的核心工具。mitmproxy-mcp 的流量重放和规则修改虽然灵活,但不是专门为 fuzzing 和并发竞争条件设计的。 **4. 没有 Auth Diff(权限差异检测)** BurpMCP-Ultra 的 `auth_diff` 可以比较同一请求在不同认证级别下的响应差异,自动发现 IDOR 和权限提升问题。mitmproxy-mcp 没有这种专门的权限测试工具。 **5. 没有实时 Web Dashboard** BurpMCP-Ultra 提供一个实时 Web 仪表盘(`http://127.0.0.1:9878`),包含实时活动流、攻击向量检测、请求详情面板、统计栏和过滤器。mitmproxy-mcp 没有独立的 Web 界面,如需可视化可以启动 mitmproxy 自带的 `mitmweb`(`webui=True`),但那是 mitmproxy 原生界面,不是为 MCP 场景定制的。 **6. 没有 OpenAPI 导入** BurpMCP-Ultra 支持 `api_import_openapi`,直接解析 Swagger/OpenAPI 3.x 规范,生成请求并添加到站点地图。mitmproxy-mcp 不支持从 API 文档自动生成测试请求。 ### 如何选择? | 你的需求 | 推荐选择 | |---------|---------| | 日常 API 调试、流量分析、自动化测试 | **mitmproxy-mcp** | | 移动应用抓包(WireGuard 透明代理) | **mitmproxy-mcp** | | 前端/APP 自定义加密协议分析 | **mitmproxy-mcp** | | 需要 HTTP/3 (QUIC) 流量分析 | **mitmproxy-mcp** | | 预算有限,不愿购买商业软件 | **mitmproxy-mcp** | | 专业渗透测试、漏洞扫描、安全审计 | **BurpMCP-Ultra** | | 需要 Fuzzer、Race Condition、Collaborator | **BurpMCP-Ultra** | | 需要被动情报提取(密钥、Token 自动发现) | **BurpMCP-Ultra** | | 需要权限差异检测(IDOR/越权) | **BurpMCP-Ultra** | | 团队已有 Burp Suite Pro 许可证 | **BurpMCP-Ultra** | **一句话总结:** mitmproxy-mcp 是**通用流量代理的 AI 工具箱**,轻量、开源、协议覆盖广;BurpMCP-Ultra 是**安全测试的专业工作台**,功能纵深、扫描能力强。两者不是竞品,而是互补——如果你在做 API 开发和调试,选前者;如果你在做渗透测试和漏洞挖掘,选后者。当然,预算允许的情况下,两者搭配使用效果更佳。 --- ## 快速开始 **注意:项目中有一个skill,以及配套的文档,要把他安装到你的agent中。** ```bash # 安装(Python 3.13+,uv) uv venv uv pip install -e . # 运行(stdio,Claude Desktop 兼容) uv run mitmproxy-mcp # 运行(SSE,远程客户端) uv run mitmproxy-mcp --transport sse --host 127.0.0.1 --port 8081 ``` **Claude Desktop 配置:** ```json { "mcpServers": { "mitmproxy": { "command": "uv", "args": ["--directory", "/path/to/mitmproxy-mcp", "run", "mitmproxy-mcp"] } } } ``` --- **GitHub:** <mark class="encrypted">be3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6#2x3K6y4H3K9#2)9J5c8X3#2A6N6r3#2H3M7X3!0^5P5g2)9J5k6r3#2U0M7l9`.`.</mark> **License:** MIT
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
收藏
・
2
点赞
・
2
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
新气象
非常支持你的观点!
2026-8-30 15:56
huluxia
+1
感谢你的积极参与,期待更多精彩内容!
2026-6-30 22:59
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
1
)
海带
雪 币:
427
活跃值:
(2115)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
83
粉丝
11
关注
私信
海带
2
楼
66
2026-7-2 17:01
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
Oo0_qbpd_0oO
4
发帖
3
回帖
0
RANK
关注
私信
他的文章
[原创]轻量全功能流量分析MCP:mitmproxy-mcp
2091
[原创]把 OpenHarmony 逆向工程接入 LLM
1395
[原创] CVD RK3588 GPU 加速方案
2001
[原创]关于cuttlefish在ARM平台使用GPU加速,与遇到的问题
1625
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部