先筛再分析:Anything Analyzer 的会话过滤、导出与 MCP 边界

先筛再分析:Anything Analyzer 的会话过滤、导出与 MCP 边界

先筛再分析: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 过滤 → 导出或分析

先筛再分析:Anything Analyzer 的会话过滤、导出与 MCP 边界

场景 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

仅用于你有权测试的系统与流量;遵守当地法律与平台条款。

💻 配套实训环境与动手练习

本文涉及的相关技术指令、开发环境与工具链已内置在边学边练在线实验室中,无需繁琐安装配置,随时在浏览器中实践体验:

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有

最新文章

热门文章

本栏目文章