Timesketch 时间线导入
Timesketch 是协同分析时间线的平台,把 CSV 或 JSONL 时间线导入 Sketch 后,团队可以按时间轴浏览、打标签并搜索。导入成败的关键不在工具本身,而在列名与时间格式是否符合约定,格式不对会让事件落在错误的时间位置。
基本信息
| 必填列 | message(事件描述) |
|---|---|
| 时间列 | datetime(可读时间字符串)与 timestamp(Unix 秒)至少提供一个 |
| 必填列 | timestamp_desc(说明该时间代表什么,如 mtime、登录时间) |
| 命令行工具 | timesketch_importer 脚本,部分版本命名为 timesketch_importer.py |
| Web 方式 | 在 Sketch 页面直接上传 CSV 或 JSONL |
| 时间要求 | 所有时间带时区偏移或统一为 UTC |
典型使用场景
- 把多台主机的时间线汇总到同一 Sketch 做协同分析
- 用标签与星标标注关键事件供后续复核
- 按进程名、账号或 IP 搜索定位相关记录
- 与故事(Story)功能结合输出事件叙述
- 交付前冻结一份导入时间线作为可复现输入
最小示例
最小示例
head -3 timeline.csv # 先确认列名符合约定
wc -l timeline.csv # 记录导入行数,便于与平台内数量核对
# 命令行导入到指定 Sketch(名称需与平台内一致)
timesketch_importer.py -s CASE-01 -t host-linux timeline.csv
# 参数名随版本变化,导入前用帮助输出确认
# timesketch_importer.py --help | head -20
sha256sum timeline.csv > timeline.csv.sha256 # 固化输入文件哈希列名与要求
| 列名 | 要求 | 说明 |
|---|---|---|
| message | 必填 | 事件文字描述,搜索主要依赖它 |
| datetime | 与 timestamp 二选一 | 带时区的可读时间字符串 |
| timestamp | 与 datetime 二选一 | Unix 秒 |
| timestamp_desc | 必填 | 说明该时间的含义与来源 |
| 自定义列 | 可选 | 作为属性保存,可用于过滤与图表 |
timestamp_desc 会作为时间类型展示;把 mtime、登录、进程启动等来源写进这一列,时间轴上才能区分同一时刻的多种事件。
导入代码与参数随版本变化,本机脚本支持哪些选项以 --help 输出为准,不要直接照搬旧文档里的写法。
Sketch 内的数据是分析副本而非证据本体;导入前必须把原始 CSV 单独归档并计算哈希,避免平台清理或重建后失去数据来源。