Files

7.3 KiB
Raw Permalink Blame History

首轮试用与简单验收

这是工具链烟测流程;用于确认同事电脑上能够实际调用工具,遇到阻塞记录后跳过。输入为本机 profile、当前授权目标和用户提供的样本。输出为环境状态、子检查结果和证据,不把烟测等同原 Excel 完整用例验收。

流程

  1. 记录 VERSION、Windows/Python 位数、Artemis 版本;运行 tool_runner.py --profile <文件> doctor --check-versions。逐项检查 availability 和 version_check:doctor 整体退出 0 只表示盘点完成,可能仍有工具缺失。GUI、MCP 和登录状态另行检查。
  2. 优先用本地媒体/固件/PCAP 做离线调用。没有真实固件时可用明确标为合成的正例验证 Binwalk,但不能将它关联为设备安全通过。需要补文件或驱动则按 环境修复 处理。
  3. 已核对完整 SN/型号/IP 后,选择单设备的只读查询、抓包、限定端口或串口子项。同一台设备及共享实验台串行,抓包与被观测操作确需重叠时由同一编排者协调;不占用别人的 COM 或停止其他任务。
  4. Artemis 先 workspace/diagnose,再只读 APP 观察及原生报告导出。平台先人工登录,确认当前页面和权限后继续。具体 MCP 参数见 手机工作流。
  5. 根据实际观测写断言,再按 报告契约 生成综合报告。工具修复成功、用例失败、缺前置和未充分验证分别记录;任一阻塞不必阻止无依赖的其他检查。

可选子项

所有 tool_runner.py 的全局参数放在子命令前;使用绝对脚本路径或先进入 Skill 目录。输出目录预先建立,每次采用新文件名。示例中的尖括号必须替换,不能直接执行。

烟测 ID / 工具 操作及需要的输入 工具调用验收 / 业务限制
ENV-01 / 全工具 doctor --check-versions 每个所需 CLI 版本或帮助成功;DLL/模块可加载。GUI/manual-interface、MCP 待独立核实,不据整体退出码通过全部环境
DEV-01 / 配置协议 device_adapter.py info --host <IP> --expected-sn <完整SN> --expected-model <型号> 实际响应身份匹配,记录版本。不能代表配置工具 GUI 搜索/设置或固件升级已验收
MEDIA-01 / ffprobe tool_runner.py --profile <配置> probe --input <本地原流文件> 实际有视频轨、编码和尺寸;名义帧率不能证明持续性能;9系统设置!96 / 9.132 只覆盖读取子项
MEDIA-02 / FFmpeg 对同一已授权本地文件运行有界解码;见下节 返回码和诊断共同判断;文件不完整时不能因退出 0 宣布完整录像通过
MEDIA-03 / MediaInfo tool_runner.py --profile <配置> media-info --input <同一媒体文件> 编码、宽高、音轨与 ffprobe 核对;空字段标为未验证;Duration 是毫秒
NET-01 / dumpcap+TShark capture --interface <接口> --host <IP> --duration 10 --output <新pcapng>,随后 analyze-pcap --input <pcapng> 能读回来自目标的实际包;0包表示调用可完成但流量证据不足;不等于13安全!15 / 13.14通信安全通过
NET-02 / Nmap scan --host <IP> --ports <双方约定的少量TCP端口> 每个请求端口的状态与覆盖度可核对。open不推断服务身份,filtered不等于closed;13.8/13.9完整验收另需范围及允许清单
FW-01 / Binwalk firmware-scan --input <用户提供固件> 记录文件大小、扫描前后SHA-256、退出码和签名结果。0签名是有效观测,不能证明加密或无敏感信息;13.3/13.4另需存储/加密方案/文件内容证据
SERIAL-01 / 串口替代 serial --port <COM> --baud <波特率> --duration 5 --output <新日志> 是否成功打开与是否收到字节分别记录。0字节时跳过13.18日志内容检查;不自动发送登录或命令。DTR/RTS仅匹配已知现场设置
APP-01 / Artemis 选定Android设备,只观察移动爱家当前目标页、保存观察笔记并结束,复核trace并导出 目标匹配、可见内容、截图/笔记与实际结论一致。completed不等于业务passed,也不等于摄像机物理场景通过
GUI-01 / 平台及PC 观察真实窗口/页面;人工登录后按授权只读查询 找到程序、窗口或登录页与完成查询分开记录;无法观察/输入时保留环境阻塞

FFmpeg 本地解码示例

此命令直接调用 FFmpeg,不是 tool_runner.py 已实现的新子命令。只用于本机媒体;RTSP 录制需单独确定 URL、凭据注入、时限和文件完整性,当前 runner 没有通用录制入口。

由 Codex 用 Python subprocess.run 的参数数组及 timeout=35 调用,保存 stdout/stderr 到本次受控证据目录。外层终端的等待/返回会话时间不等于进程终止时限。命令参数为:

<本机ffmpeg.exe> -hide_banner -nostdin -v warning -protocol_whitelist file -i <本地媒体> -map 0:v:0 -t 5 -f null -

不把网络 URL、播放列表或用户提供的额外参数拼进此模板。超时停止本次进程并保存状态;输入含凭据时不能直接归档诊断。出现 File ended prematurely 等诊断时记录文件不完整,即使退出码为0也不能给文件完整性通过。I帧间隔另需 ffprobe 逐帧 pict_type 与时间戳;基础 probe 摘要不足,不能用APP录屏代替原流。

与 Artemis 组合的最小场景

选择同一已确认摄像机:配置适配器只读身份/版本 → Artemis 在 APP 设备设置页观察版本 → 比较同一版本语义,保存两侧原始证据。若 APP 只显示外部版本,不与设备硬件版本或内部版本混比;无法读到字段记未验证。也可 APP 观察直播 → PC 读取用户已提供的原流元数据,但 APP 截图只证明当时 UI 画面,码流参数取自原流。

给 Artemis 的任务正文同时写入目标、只读边界、观测项、失败停止条件和预期输出;不要只放在批次 preconditions 元数据。原生报告与外部证据分别保存,用 session/trace 和 case_id 关联,不改写原生报告。

已有开发机验证与本次试用的区别

2026-10-16 已验证 dumpcap/TShark 4.6.3、Binwalk 2.3.2 独立 Python3.11、Nmap 7.60、MediaInfo 21.09 DLL、FFmpeg/ffprobe 2023-12-18构建,以及配置协议只读查询和带修复的 Artemis v1.5.2 只读观察。这是兼容性记录,不是最新版本推荐或其他机器自动可用的保证。

  • 真实固件签名扫描已完成但没有识别到签名,未验证设备Flash加密/AES方案/敏感信息。
  • 两路RTSP复制曾达到外层时限,保留的部分媒体可离线分析但不完整;当前未宣称录制稳定。
  • 串口曾确认基础双向收发;另一次被动窗口收0字节,尚未确认shell登录。不能将其中一次结果推广为所有设备或COM设置。
  • Windows截图/点击与浏览器控制曾受宿主环境阻塞;移动视联还存在程序与控制进程权限不一致。平台登录后的业务、mainThread查询、配置GUI参数操作仍需现场验证。
  • firmware_encrypt匹配SDK、老DM及算法OTA等专有入口仍需团队补齐。357条保留用例路由并非357条已自动执行或通过。

将本机实际结果填入 反馈模板,不要复制历史通过标签作为新电脑的结论。