这课要解决什么
让测试过程可回放。没有记录,等于没有证据。第十章报告不是另起一篇作文,是把这里的条目收成对方能复现的结构。
先建立心智模型
一条记录回答五个问题:
- 什么时候
- 对谁(范围内的哪台、哪个 URL、哪个端口)
- 做了什么
- 看到了什么
- 证据放在哪
工具输出、截图、自己的一句话判断,是三件不同的东西。输出是原始材料,截图是给别人看的切片,判断是你当时的结论。混在一个「随便贴」的文件里,一周后你自己也分不清哪句是事实。
最小可运行例子
每一轮测试一个目录,不要把所有靶场堆在桌面。
notes/
2026-09-21-lab-target/
scope.md
log.md
scans/
http/
shots/
scope.md 先写死范围,再动手:
# 范围
- 网段:192.168.56.0/24
- 主机:192.168.56.101
- 允许:端口扫描、Web 测试、在靶机内提权
- 禁止:出这个网段、改宿主机、对公网发攻击包
- 开始:2026-09-21 21:00
log.md 按时间追加,不改历史:
## 21:04 192.168.56.101 存活确认
- 做了:ping -c 2 192.168.56.101
- 看到:2 个回复,ttl=64
- 证据:scans/ping.txt
- 判断:主机在线,继续端口扫描
这就是后面报告里「复现步骤」的毛坯。
常用操作
一次测试最少记哪些字段
| 字段 | 为什么要 |
|---|---|
| 时间 | 对应日志和快照 |
| 目标 | IP / 域名 / URL / 服务 |
| 动作 | 命令或点击路径,可复制 |
| 结果 | 关键输出,不要整份 20 万行 |
| 证据路径 | 文件名,不要「在某个窗口里」 |
| 判断 | 一句:所以下一步做什么 |
判断写错了没关系,标成判断。事后可以改结论,但不要回过头去改「当时看到了什么」。
命令、响应、截图如何对应
- 终端命令连同工作目录一起复制。同一条
nmap在不同网卡上意义不同。 - 大输出存文件,笔记里只留开头、关键行、退出码。
- HTTP 从 Burp 导出请求/响应,或至少记下 Method、URL、状态码、关键头。
- 截图用于界面和「人能一眼看懂」的状态,不替代文本。文件名带时间和目标,例如
2108-101-admin-login.png。 - 一条 log 记录只指向一组证据。不要一条笔记挂五张无关图。
范围外的东西碰到了怎么办
停。在 log.md 写:
## 21:16 超出范围
- 看到:192.168.1.5 出现在 ARP 表 / 扫描结果
- 动作:停止当前扫描
- 判断:不在 scope.md 里。未继续探测。
然后检查虚拟网卡是不是桥接、扫描目标是不是写成了 /24 却包含了不该包含的地址。需要改范围时,先改 scope.md 再继续,不要靠记忆放宽。
授权测试里这也是职业习惯:发现越界就记下来,而不是假装没看见。
笔记如何接到第十章报告
报告需要的块,在笔记里已经有对应物:
| 报告 | 笔记 |
|---|---|
| 范围 | scope.md |
| 时间线 | log.md 的时间 |
| 复现步骤 | 「做了」+「看到」 |
| 证据 | scans/ http/ shots/ |
| 影响判断 | 「判断」里那一句,写报告时再校准 |
所以第十章不是从零开始。缺字段的笔记,到时候只能回忆,回忆会编。
常见坑
只截图不复制命令。 图上的字难检索,也难给别人复现。
把全部 nmap XML 贴进 log.md。 文件会烂。XML 放 scans/,笔记里写「全端口见 scan-host.xml,Web 在 80」。
用聊天记录当笔记。 可以讨论,结束时仍要收进这次测试的目录。
判断和事实写在同一行还不加标记。 「80 开着,肯定是 Apache」里,前半是事实,后半是猜测。分开写。
学完应能判断
随便抽自己今天的一条记录,能不能在不打开终端历史的情况下复现:对谁、做了什么、证据在哪个文件。
能,这一章就算过关,可以进信息收集。不能,先把模板用到下一次开机,再往下学。