首页/安全/取证与溯源速查/Timesketch 导入与协作分析
溯源思路与流程68 条

Timesketch 导入与协作分析

Timesketch 支持把 CSV/plaso 时间线导入 Sketch 做可视化和多人批注,导入前把时间列与描述列映射正确。

取证与溯源速查安全更新于 2026-10-13

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 单独归档并计算哈希,避免平台清理或重建后失去数据来源。

易错点

  • 时间列不带时区:平台会按默认规则解释,多主机时间线整体错位且难以排查
  • 缺少 timestamp_desc:时间轴上所有事件看起来同类,无法区分改动、访问与登录
  • 用表格软件打开 CSV 后另存:日期与数字格式被改写,导入后时间失真
  • 把平台当唯一留存:Sketch 只是分析副本,原始平铺文件必须单独归档

数据来源与参考

  • Timesketch 官方文档(importer 用法)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌