SuperAPI AI 工具集

snap-o-network-inspector

测试与质量

查看项目

更新于 10-16 03:05

技能介绍

用途:检查 Android 应用的网络流量,或覆盖 API 响应。命令行工具随 Snap-O 插件提供,路径为 SNAPO_BIN=/path/to/snap-o/skills/snap-o-network-inspector/scripts/snapo-network,需相对 SKILL.md 所在目录解析,不要假定当前工作目录。脚本依赖 Python 3 和 Android Platform Tools,无需 Python 包、编译工具链或 macOS 应用;adb 从 PATH、ANDROID_SDK_ROOT 或 ANDROID_HOME 解析,可用 --adb <path> 或 SNAPO_ADB 指定。

主要能力:list 列出可用的 Snap-O Network Tool 服务器;requests 输出某服务器的 CDP 网络事件;show 按 request id 显示完整请求详情,含头和 body;intercept <file.py> 运行 Python 路由处理器来编辑或模拟 HTTP 响应,需要应用支持 Snap-O OkHttp 拦截。

常用选择器:-s/--serial 指定设备序列号,-d 使用单个 USB 设备,-e 使用单个模拟器,--adb 指定 ADB,--adb-host 与 --adb-port 直连远程 ADB 服务器。远程 ADB 时需把 Snap-O 转发隧回 localhost,否则同时传 --adb-host 与 --adb-port。

典型用法:先 "$SNAPO_BIN" list --json;再拉取事件 "$SNAPO_BIN" requests -s <serial> -n <socket_name> --filter '<url-filter>' --no-stream --json;查看单请求 "$SNAPO_BIN" show -s <serial> -n <socket_name> -r <request_id> --json。--filter 使用与 Network Tool 搜索框相同的不区分大小写 URL 语法,多个词需全部匹配,前缀 - 表示排除。

限制与注意:list 仅用 ADB 进程与包信息,不加载应用标签和图标,未解析字段为 null;requests 会将请求 Authorization/Cookie 与响应 Set-Cookie 替换为 [REDACTED],但 show 输出可能含 URL 查询值及请求/响应 body。--json 输出 NDJSON,需逐行处理。intercept 日志写入 stderr,不接受 --json、--filter、--no-stream。协议 2 使用 /network/protocol 版本检查、HTTP 历史与 body 读取、SSE 实时事件,拦截通过 POST 注册路由并返回自身 SSE 连接,需要更新的 Android Network 库。