SuperAPI AI 工具集

nsm-session-pivot

数据与分析

查看项目

更新于 10-15 17:21

技能介绍

用途:对磁盘上已有的 .pcap/.pcapng 文件做只读的会话与协议元数据分析,不抓取实时流量,也不写入数据。核心思路是以 Zeek 的 conn.log 的 uid 为纽带,把连接表与 dns、http、ssl 等协议日志精确关联,而不是靠启发式猜测。

主要能力:提供 nsm_status、nsm_analyze、nsm_sessions、nsm_protocol_log 四个工具,引擎为 Zeek 8.2.1(按镜像摘要固定)。nsm_analyze 查看该捕获生成了哪些 Zeek 日志以及连接数;nsm_sessions 给出连接表,含 service、conn_state 和字节数;记录关注的 uid 后,用 nsm_protocol_log 按 log="dns"/"http"/"ssl" 与 uid 取对应日志;log="weird" 查看 Zeek 无法归类的协议异常。

必要用法与关键限制:Zeek 默认丢弃 TCP 校验和无效的数据包,网卡校验和卸载产生的捕获常带无效校验和,会导致协议日志缺失甚至 conn.log 错误(如 3 行而非正确的 2 行),stderr 仅有警告。因此 nsm-mcp 默认 ignore_checksums=true,并在每个响应附带 zeek_posture:IGNORING_CHECKSUMS 表示全部分析,PACKETS_DISCARDED 表示有丢包、结论可能缺失或错误,VALIDATING 表示校验开启且未标记。若看到 PACKETS_DISCARDED,应以 ignore_checksums=true 重跑再下结论。请求 Zeek 未写出的日志时,会返回可用日志列表,应据此判断而非直接报告不存在。truncated: true 仅表示当前是分页。Zeek 依据行为而非端口推断服务(例如 8443 上的 HTTP 被标为 http),应说明所用依据。weird.log 只是协议异常记录,不是告警日志。

适用场景:从 nsm-ids-triage 的告警出发,按服务或 IP 对筛选会话,用 id.orig_h/id.resp_h/id.resp_p 匹配 uid,再取协议日志,结合时长、双向字节数和 conn_state(S0 无响应与 SF 已完成含义不同)形成会话叙事。可与 packet-analysis(tshark 单包解码)、cml-packet-capture / gns3-packet-capture、gait-session-tracking 配合。

环境变量:NSM_HOME 分析目录(默认 ~/.openclaw/nsm),NSM_TIMEOUT 容器超时秒数(默认 600)。所有结论须说明校验和姿态,并记录到 GAIT。