Skip to content

证据采集

🔍 一次截图同时采集多种证据。

snir 把截图与证据统一到 Result,保证可采信、可关联。

可采集证据

证据开关Result 字段内容
HTML 源码--save-html / WithHTML()html页面源码
HTTP 头--save-headers / WithHeaders()headers响应头列表
Cookie--save-cookies / WithCookies()cookiesCookie 列表
控制台--save-console / WithConsole()console日志(level/message)
网络--save-network / WithNetwork()network请求日志
TLS自动tls证书信息
技术栈自动technologies识别结果
感知哈希自动perception_hash截图指纹
最终 URL自动final_url跳转后 URL
状态码自动response_codeHTTP 状态

全量证据

CLI:

bash
snir scan example.com \
  --save-html --save-headers --save-cookies \
  --save-console --save-network \
  --write-jsonl --db

SDK:

go
opts := sdk.NewScreenshotOptions(
    sdk.WithEvidence(),   // 一次启用 HTML+头+Cookie+控制台+网络
)

证据结构

Result Schema 各嵌套结构。

内存字节 vs 文件

两种交付形态

形态字段 / Writer截图落盘?适用
文件默认 Writerscreenshots/批量存档、归档复查
内存字节ScreenshotBytes / API MemoryWriter❌ 仅返回字节实时 API、无磁盘环境

证据(HTML/头/Cookie/控制台/网络)始终随 Result 入库或写 JSONL,与截图形态无关。

何时采集什么

按场景选证据,避免全量采集的开销

场景推荐证据理由
资产盘点html + headers够看技术栈与响应特征
安全侦察全量任何证据都可能成为线索
报错排查console + network控制台与网络日志直指根因
会话/登录cookies复用会话、识别身份
TLS 审计tls(自动)证书无需额外开关

持久化

证据随 Result 分发给 JSONL/CSV/SQLite。嵌套证据在 SQLite 各自成表。见 输出格式

从采集到落盘,证据的全链路流转如下:

证据在 SQLite 中按类型分表,外键关联主结果:

下一步

基于 MIT 许可发布