本文目录导读:

比较系统快照通常用于追踪文件系统、注册表(Windows)或系统配置的变化,常用于安全分析(如检测恶意软件行为)或系统维护,以下是几种使用工具进行系统快照比较的方法,按平台分类:
原生工具(无需安装)
Windows:robocopy 或 fc 结合日志
- 适用场景:快速比较两个时间点的文件列表或内容。
- 方法:
- 创建第一次快照:
dir /s /b "C:\Path" > snapshot1.txt - 一段时间后创建第二次快照:
dir /s /b "C:\Path" > snapshot2.txt - 比较差异(文件新增/删除):
fc snapshot1.txt snapshot2.txt - 若需比较文件内容变化,可用
fc /b file1 file2(二进制)或comp。
- 创建第一次快照:
Linux:diff 结合日志
- 方法:
find /path -type f -printf "%p %s %M\n" > snap1.txt # 记录路径、大小、权限 # ... 一段时间后 ... find /path -type f -printf "%p %s %M\n" > snap2.txt diff snap1.txt snap2.txt
- 更精细(包括时间戳):
rsync -a --delete --dry-run /source /destination可生成差异报告。
macOS:mdfind + diff(或 Time Machine)
- 可用
ls -laR /path > snap1.txt,再diff。 - Time Machine 自带基于时间的文件系统快照比较(导航到前一个版本并对比)。
专用快照比较工具(推荐)
WinMerge(Windows)
- 功能:对比文件/文件夹内容、注册表导出的
.reg文件。 - 步骤:
- 导出两次快照(如使用
reg export HKLM\Software snapshot.reg)。 - 在 WinMerge 中打开这两个
.reg文件,自动高亮差异。
- 导出两次快照(如使用
- 优势:图形化、支持文件夹同步、忽略空白行。
RegShot(Windows)
- 专用工具:专门比较注册表和文件系统快照。
- 流程:
- 点击“1st snapshot”拍摄初始状态。
- 执行操作(如安装软件、运行进程)。
- 点击“2nd snapshot”后选“Compare”,生成详细差异报告(新增/删除/修改的键值对和文件)。
- 输出:HTML 或 TXT 报告,含高亮。
AIDE / Tripwire(Linux/Unix)
- 适用于安全基线监控:生成数据库快照,定期比对完整性。
- 使用:
aide --init # 生成 /var/lib/aide/aide.db.new mv aide.db.new aide.db # 初始化基线 aide --check # 比较当前与数据库差异
- 输出:列出新增、删除、修改的文件及属性(权限、大小、哈希、链接数)。
Sysinternals Suite(Windows)
- 进程监视器(Procmon):实时捕获文件、注册表、进程事件,但更适合动态监控。
- 比较方式:先导出两次日志(如操作前后),用
Log Comparison(内置)或第三方工具比较 CSV。
专业数据分析工具(高级)
Elastic Stack(SIEM)
- 流程:使用
OSQuery或Beats采集文件、注册表哈希,存入 Elasticsearch。 - 比较:通过 Kibana 可视化不同时间点的字段差异(如
file.hash.md5变化)。 - 示例:查询
@timestamp在两个窗口的file.path集合的差集。
Velociraptor(跨平台,取证)
- 功能:用 VQL 查询「所有文件的时间戳、哈希」,生成快照,再利用
diff或VQL的hash_compare函数比较。 - 适合:大规模终端取证,自动标记新增/修改的可执行文件。
自定义脚本(Python + hashlib)
import os, hashlib, json
def get_snapshot(path):
snap = {}
for root, dirs, files in os.walk(path):
for f in files:
full = os.path.join(root, f)
try:
with open(full, 'rb') as fp:
h = hashlib.md5(fp.read(65536)).hexdigest()
snap[full] = h
except: pass
return snap
# 保存两次快照的 JSON,然后用 dict 比较
- 优势:自定义粒度(仅比较哈希、时间戳、权限 vs 内容)。
快照 VS 当前状态(瞬间比较)
若你已有快照文件(如备份的镜像、虚拟机快照、系统还原点):
| 快照类型 | 比较工具 | 说明 |
|---|---|---|
| 虚拟机快照(VMware/VirtualBox) | vmware-vdiskmanager -R 或 VBoxManage diff |
计算快照链的差异块 |
| 系统还原点(Windows) | vssadmin list shadows + 手工挂载 |
将还原点挂载为卷(如 C:\@GMT-...),然后用 robocopy 或 WinMerge 比较 |
磁盘镜像 dd/img |
diff + xxd 或 gddrescue --diff-maps |
仅比较二进制差异,适合底层取证 |
总结建议
- 简单文件/注册表变化:使用 RegShot(Windows)或
diff+ 索引文件(Linux)。 - 系统完整性监控(长期):部署 AIDE/Tripwire(Linux)或 Wazuh/Sysmon(Windows)。
- 高速、大量的文件差异:用 Python/VQL 脚本比较哈希列表,避免全文件内容比较。
- 图形化任务:WinMerge 或 Beyond Compare(付费)提供直观对比树。
如果目标是安全审计,建议组合使用:
- 先拍注册表快照(RegShot)
- 同时记录文件列表及哈希(
certutil -hashfile或Get-FileHash) - 执行可疑操作后比较,结合 Procmon 筛选异常进程的 I/O。
这样能覆盖大多数静态和动态变化分析需求。
标签: 系统快照
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播