先筛再分析:Anything Analyzer 的会话过滤、导出与 MCP 边界
源微信页常触发验证码。正文不以那篇营销向软文为底稿,而是按开源仓库 Mouseww/anything-analyzer 的 README / USAGE 重组:把双通道抓包、统一会话、请求过滤、两阶段 AI 分析、导出与 MCP 边界讲清楚。目标不是「再安利一个抓包器」,而是让你在噪声堆里先筛出有价值请求,再决定要不要把上下文交给大模型。
Anything Analyzer = Electron 桌面端通用协议分析器。内嵌浏览器走 CDP Fetch,外部应用走 MITM(默认
8888),两类流量汇入同一 Session;可选 AI 做协议逆向 / 安全审计 / 加密分析。MIT License。合规声明见仓库 README——工具本身不做非法修改或控制,AI 模型由用户自备。

一、痛点不在「抓得到」,而在「筛得动」
传统工具各管一摊:Chrome DevTools 只看浏览器;Fiddler / Charles 偏代理;Wireshark 对 HTTPS 应用层不友好。真实调试里更常见的情况是——一次登录或一次支付,检查器里瞬间堆出几百条静态资源、埋点、CDN、预检请求。人眼翻包的成本远高于「再开一个代理」。
Anything Analyzer 的切入点是把抓包和分析拆成流水线:
1. 先统一汇流:浏览器 CDP 与 MITM 代理进同一个 Session
2. 再人工/列筛选:按 URL、Method、Domain、Source 砍噪声
3. 再决定分析范围:全量分析、勾选分析,或交给 Phase 1 智能过滤
4. 最后导出:请求 JSON / 报告 Markdown,或通过 MCP 交给外部 Agent
理解这条顺序,比背功能清单更重要。
二、双通道抓包:CDP 内嵌浏览器 + MITM 代理
1. 抓什么、怎么抓
| 对象 | 通道 | 典型配置 |
|---|---|---|
| 网页 / OAuth / 前端加密 | 内嵌浏览器(CDP Fetch) | 新建 Session 填目标 URL → 开始捕获 |
| 桌面应用 / Postman | MITM + 系统代理 | Settings 安装 CA,开启「设为系统代理」 |
| curl / wget / httpie | MITM + 环境变量或 -x |
curl -x http://127.0.0.1:8888 ... |
| Python / Node 脚本 | MITM + 代码或环境变量代理 | proxies= 或 HTTP_PROXY |
| 手机 App / 小程序 | MITM + Wi-Fi 手动代理 | 电脑 IP + 8888,并安装 CA |
架构上可以记成:
网页(CDP) ──┐
├──► 统一 Session ──► AI 分析 / 导出 / MCP
脚本/App ───┘
(MITM:8888)
2. MITM 边界(务必先读)
仓库明确写出的限制,直接影响你能不能抓到、抓全:
- 只读捕获:不修改请求/响应内容
- 单 body 上限 1MB,二进制内容自动跳过
- WebSocket:隧道转发,不做解密
- 证书固定(Certificate Pinning) 的 App 无法被 MITM 捕获
- 根 CA 约 10 年,子证书 825 天(对齐 Apple 要求);证书目录在
%APPDATA%/anything-analyzer/certs/(Windows)或~/Library/Application Support/anything-analyzer/certs/(macOS)
# 终端
curl -x http://127.0.0.1:8888 https://api.example.com/data
# Python
proxies = {
"http": "http://127.0.0.1:8888",
"https": "http://127.0.0.1:8888",
}
requests.get("https://api.example.com/data", proxies=proxies)
# Node
HTTP_PROXY=http://127.0.0.1:8888 HTTPS_PROXY=http://127.0.0.1:8888 node app.js
安全提醒:MITM 需要安装本地 CA。仅在你自有测试设备上使用;用完可在设置里卸载证书。切勿对他人设备或未授权系统做中间人拦截。

三、Session 是工作单元,不是「再开一个标签」
USAGE 把每个会话定义为一次完整抓包任务,至少包含:
- 全部 HTTP 请求/响应
- JS Hook 记录(fetch/XHR、crypto.subtle、CryptoJS、国密 SM2/3/4、
[xss_clean]等) - 存储快照(Cookie / localStorage / sessionStorage)
- AI 分析报告(若已生成)
状态机很简单,但对分析时机很关键:
| 状态 | 含义 | 你该做什么 |
|---|---|---|
| 运行中 | 正在捕获 | 只做业务操作;可用暂停跳过噪声时段 |
| 已暂停 | 暂停捕获,会话仍开 | 切页面、清环境、跳过无关步骤 |
| 已停止 | 捕获结束 | 切到 Inspector 筛选,再点分析 |
实操建议:
1. 一事一会话:登录、下单、退款分开 Session,报告上下文更干净
2. 先暂停再清环境:浏览器视图支持一键清 Cookie/Storage/缓存;清完再恢复捕获,避免旧会话污染
3. OAuth 弹窗:多标签会把弹窗收成内部标签,别急着在系统浏览器里另开窗口
四、过滤才是生产力:从列筛选到两阶段 AI
1. Inspector 上手动过滤
请求列表列:# / Method / Domain / Path / Status / Time / Source(CDP 或 Proxy)。
| 操作 | 怎么做 |
|---|---|
| 按 URL 关键字 | 顶部搜索框 |
| 按 Method / Domain / Source | 列头漏斗 |
| 按 Status / Time 排序 | 点列头 |
| 看完整头体 | 点行 → 右侧详情 |
| 只分析子集 | 勾选,或 Shift+Click 范围选中 |
| 导出原始请求 | 底栏「导出」→ JSON |
Source 列很值钱:同一 Session 里能区分「内嵌浏览器」与「代理进来的终端/App」。混合抓包时,先按 Source 拆开,再按 Domain 收敛,比直接丢给 AI 全量分析更可控。
2. Phase 1 / Phase 2:何时交给模型筛噪声
请求数 ≥ 20 时,默认会先走 Phase 1 智能过滤:评估相关性,去掉静态资源、跟踪类噪声,再进入 Phase 2 深度分析(模型可按需调工具读完整请求详情)。
| 模式 | 适用 |
|---|---|
| 自动识别 | 场景不明,先出通用报告 |
| API 逆向 | 端点文档 + 鉴权流程 + Python 复现草稿 |
| 安全审计 | Token 泄露、CSRF/XSS、敏感字段暴露线索 |
| 性能分析 | 时序、冗余请求、缓存策略 |
| JS 加密逆向 | 算法识别 + 流程还原 |
| 自定义模板 | Settings 里自写 System Prompt |
已经肉眼筛过的,直接勾选后点「分析选中 (N)」——跳过预过滤,避免 Phase 1 把你刚留下的关键接口再裁掉。
3. Hooks 与 Storage:过滤之外的第二现场
- Hooks:补 CDP 未覆盖的前端调用栈,尤其加密与 Cookie 写入
- Storage:定时快照,适合对照「登录前后 Token 落在哪」
分析报告支持流式输出、停止分析、多轮追问;追问时最好点名请求序号(如「看 #12 的响应体」),比空泛「再详细一点」有效得多。

五、导出与 MCP:插件边界怎么划
1. 两类导出
| 产物 | 入口 | 用途 |
|---|---|---|
| 请求 JSON | Inspector 底栏「导出」 | 离线复盘、脚本二次处理、团队共享原始样本 |
| 报告 Markdown | Report 工具栏「导出 .md」 | 含追问对话的分析结论归档 |
导出是「数据出应用」的正门。需要版本化时,建议 Session 名带日期与场景,JSON / MD 同目录存放。
2. MCP Client vs MCP Server(别混)
仓库把 MCP 做成双向能力,职责相反:
| 角色 | 做什么 | 你在什么场景用 |
|---|---|---|
| MCP Client | 在分析时调用外部 MCP Server(stdio / StreamableHTTP) | 给分析流水线挂额外工具(检索、知识库等) |
| MCP Server(内置) | 把本机抓包/分析能力暴露成 MCP 工具 | 让 Claude Desktop、Cursor 等 Agent 驱动 Anything Analyzer |
边界建议:
- 人机协同抓包:主用 GUI(Browser → Inspector → Report)
- Agent 编排:开内置 MCP Server,让外部 Agent 调工具;注意端口与本机信任边界
- 不要指望 MCP 绕过 MITM 限制:证书固定、WS 不解密、body 1MB 上限仍然成立
3. LLM 配置边界
Settings → LLM:OpenAI / Anthropic / 任意 Chat Completions 兼容端(DeepSeek、通义、本地 Ollama 等)。模型不内置,Key 与 Base URL 自备。分析失败时优先查:DNS、本地中转是否起来、是否需要出站代理、是否未配置 Provider。
六、推荐工作流(可照做)
场景 A:网站 API 逆向(内嵌浏览器)
1. Settings 配好 LLM
2. 新建 Session,填目标 URL
3. 开始捕获 → 只做最短复现路径 → 暂停 → 清环境(如需)→ 恢复 → 停止
4. Inspector:Domain 漏斗去掉 CDN / 埋点;勾选业务 API
5. 「分析选中」选「API 逆向」→ 追问要 Python 复现 → 导出 .md + JSON
场景 B:脚本 / CLI 联调(MITM)
1. 安装 CA,启用 8888
2. 进程显式走代理(见上文)
3. Session URL 可留空 → 开始捕获 → 跑脚本 → 停止
4. 按 Source=Proxy、Method=POST 过滤 → 导出或分析

场景 C:手机 App
1. 同 Wi-Fi,手机 HTTP 代理指向电脑 8888,安装 CA
2. 确认目标 App 无证书固定
3. 新建 Session → 开始 → 手机操作 → 停止 → Domain 过滤后分析
七、排坑清单
| 现象 | 优先排查 |
|---|---|
| 请求列表为空 | 是否点了「开始」;是否在正确 Session;代理是否真指到 8888 |
| HTTPS 抓不到 | CA 是否安装成功;App 是否证书固定;系统代理是否生效 |
| AI 分析失败 | Provider 未配置、Base URL 拼错、本地中转挂了、出站需代理 |
| 追问飘 | 指明请求 #序号;先手动筛再分析选中 |
| WebSocket 业务看不清 | 当前实现隧道转发不解密——别用本工具当 WS 协议逆向主战场 |
| 大文件 / 二进制缺失 | body 1MB 与二进制跳过策略 |
安装包见 Releases(Windows Setup / macOS arm64·x64 DMG / Linux AppImage)。源码构建:pnpm install && pnpm dev(Node ≥ 18)。
八、小结
Anything Analyzer 值得用的点,不是「又一个 Electron 抓包壳」,而是:双通道汇流 → Session 隔离 → 列筛选 / 多选 →(可选)两阶段 AI → JSON/MD 导出 / MCP 外接。先筛再分析,比把上千条噪声一次性喂给模型更稳、更省 token,也更符合真实排障节奏。
仓库:https://github.com/Mouseww/anything-analyzer
仅用于你有权测试的系统与流量;遵守当地法律与平台条款。
💻 配套实训环境与动手练习
本文涉及的相关技术指令、开发环境与工具链已内置在边学边练在线实验室中,无需繁琐安装配置,随时在浏览器中实践体验: