介绍
River Festival 需要在网络开放前进行访问审查。访客和工作人员都应能读取公开日程;签到和物资服务仅限工作人员。你的任务是从两个网络位置观察同一台服务器,提交准确审查,包括意外可达和必需服务不可用的问题。
Guest Scanner 和 Staff Scanner 是同一训练 VM 上不同网络命名空间中的持久终端。它们的路由和来源地址不同,但共享文件,并非两台独立 VM。环境已准备好,所有数据均为合成数据。仅授权扫描服务器 10.77.3.2 的 TCP 端口 8311,8322,8333。保留客户端、路由、过滤规则、服务、数据和数据包观察进程。本任务只做观察:正确的审查可能说明网络尚不适合开放。
只需会输入基本终端命令和识别路径。课程会解释所需的 Nmap、HTTP 和 shell 语法;建议先学习 Finding the Live Workshop Service。无需防火墙管理或编程经验。
从两个来源建立可用的业务对照
本步骤先从每个网络查看正常的公共业务,再判断受限访问。使用实验中具名的标签页,不要使用服务器或管理 shell。打开扫描终端会进入已准备的网络,不会重建网络。每个终端的目录和 shell 状态独立,文件则位于同一台 VM 上。
Guest Scanner
选择 Guest Scanner 标签页。cd 改变此 shell 的工作目录,后续相对路径都以它为起点:
cd /home/labex/project/nmap-access/guest
cat 显示文本文件。.. 表示父目录,因此下面的路径读取角色目录上一层的共享约定:
cat ../plan.csv
CSV 表示逗号分隔值:首行命名各列,后续每行是一项关系。六行把 guest 或 staff 与服务和 TCP 端口配对。allow 要求连接可用;block 要求此来源不能连接。8311 上的公开日程允许两个来源访问;8322 上的签到和 8333 上的物资仅供工作人员使用。
HTTP 是这些服务采用的请求/响应协议。curl 获取 URL。组合选项 -fsS 会在 HTTP 出错时失败、隐藏进度条,同时保留错误提示;-o 把响应保存到其后的文件名。地址选择目的地,冒号后的端口选择监听入口,/manifest.csv 选择资源:
curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
cat public.csv
应看到表头和两条 schedule/RIVER-FEST 记录:P01/Doors at 10、P02/Talk at 11。这是从访客网络位置获取的真实响应,来源地址为 10.77.1.2。
Staff Scanner
切换到 Staff Scanner 标签页。它的来源地址是 10.77.2.2,角色目录也独立:
cd /home/labex/project/nmap-access/staff
curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
cat public.csv
应看到相同的两条完整公共记录。两侧都有可用的公共业务对照,可以避免把扫描端断网误认为阻止访问成功。两个 public.csv 分别保存在不同角色目录中。如果拼错文件名,先阅读错误,用 pwd 查看此终端的目录,再重新执行该角色上面展示的 cd 后重试。不要修复路由或重启服务。
从每个网络扫描相同的服务
本步骤从两个来源收集完整观察。端口状态描述的是这个扫描端看到了什么,并非服务器固有的属性。open 表示接受了 TCP 连接;closed 表示扫描收到了拒绝,原因可能是没有监听进程,也可能是过滤器主动拒绝。filtered 表示探针或响应被阻止,Nmap 无法确定端口是否开放。不要仅凭状态推断具体根因。
Nmap 用于检查网络服务。-sT 选择 TCP connect 扫描,此处无需原始数据包权限;-Pn 跳过前置的主机发现判断,即使其他探针得不到响应,也检查指定端口,它本身不能证明主机存活。-n 跳过反向名称解析。--reason 显示响应依据,-p 选择授权的完整端口集合,-oX 在正常终端输出之外保存结构化 XML。默认的常用端口集合不能代替本次约定的范围。
Nmap 脚本引擎 NSE 可以发送选定的应用请求。--script 选择一个脚本,--script-args 提供其具名选项。http-title 获取 HTML 标题,http-title.url=/about 选择说明资源。这里的三个候选入口都明确为 HTTP 服务。前面的 + 让这个脚本在端口未被识别时仍执行,仅适用于当前已知 HTTP 范围;不要把它推广为对无关服务强制运行任意脚本。不要求取得产品版本文本。
Guest Scanner
切换到 Guest Scanner,仍位于 /home/labex/project/nmap-access/guest。先用 --script-help 阅读所选脚本的帮助:
nmap --script-help http-title
nmap -sT -Pn -n --reason --script=+http-title --script-args=http-title.url=/about -p 8311,8322,8333 -oX scan.xml 10.77.3.2
等待 Nmap done。预期 8311 和 8322 为 open,并返回真实的公开日程和工作人员签到标题;8333 为 filtered。访客可以访问工作人员专用服务,因此公共业务对照成功并不等于完成了访问审查。
Staff Scanner
切换到 Staff Scanner,仍位于 /home/labex/project/nmap-access/staff。从这个网络位置执行相同的限定范围检查:
nmap -sT -Pn -n --reason --script=+http-title --script-args=http-title.url=/about -p 8311,8322,8333 -oX scan.xml 10.77.3.2
预期 8311 和 8322 为 open,8333 为 closed。因此工作人员无法连接某项必需服务。标题响应可帮助识别有响应的 HTTP 候选入口;仅凭常见的 SERVICE 名称不能证明应用身份。
这是两次真实扫描,而非把一次结果改名给两个来源使用。各自角色目录中的 scan.xml 和已有来源流量共同支撑审查。如果用错标签页、目标或端口,请在正确扫描端重新运行完整命令。中断后要等待一次完整重跑结束。把文本改名为 XML 或复制另一角色的文件,都不能产生缺失来源的观察事实。
提交访问审查并保留现场
本步骤把六项观测关系整理为准确的交接审查。从 Staff Scanner 开始,工作目录为 /home/labex/project/nmap-access/staff。保持原始现场不变;审查可以完成,而访问问题留待后续修复。
对于 allow 行,open 符合约定,closed 或 filtered 表示 unavailable。对于 block 行,开放端口为 unexpected-open;closed 或 filtered 满足本次观察到的连接限制。结论只适用于所述来源、目标、协议、端口和观察时间,不保证覆盖每条网络路径,也不能确定拒绝的具体原因。
报告列为 source,service,port,expected,observed,verdict。来源和服务必须始终对应各自证据。记录实际状态,不要把所有非开放结果替换为同一个词。约定要求工作人员能使用物资服务,尽管它当前为 closed,所以这是问题发现,而非成功阻止访问。
带引号的 here-document 会把后面的字面文本传给 cat。> 只覆盖指定报告;末尾的 CSV 必须单独占一行。../access-review.csv 把共享审查保存到父目录:
Staff Scanner
cat > ../access-review.csv <<'CSV'
source,service,port,expected,observed,verdict
guest,schedule,8311,allow,open,meets
guest,checkin,8322,block,open,unexpected-open
guest,supplies,8333,block,filtered,meets
staff,schedule,8311,allow,open,meets
staff,checkin,8322,allow,open,meets
staff,supplies,8333,allow,closed,unavailable
CSV
cat ../access-review.csv
暂缓网络开放:访客意外地能访问签到服务,而工作人员的物资服务不可用。不要为了简化报告而关闭暴露服务或更改过滤器;本任务向负责人交付发现。同一种状态在不同 allow/block 关系下可能有不同含义。
Guest Scanner
切换到 Guest Scanner,再次使用未改变的公共业务对照:
curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
Staff Scanner
返回 Staff Scanner,做同样的检查:
curl -fsS -o public.csv http://10.77.3.2:8311/manifest.csv
两侧都必须仍然提供原来的两条公共记录。私有服务及原始网络配置也应保留,供后续调查。若 URL 拼错,请在同一角色中修正已知 URL 后重试,不要复制另一侧下载的文件。
总结
你从两个来源确认了正常业务,分别收集 Nmap 观察,并审查了每项访问关系。意外可达与必需服务不可用属于不同发现。完成的审查保留原始现场,并将结论限定在实际观察到的来源和范围内。



