0Pricing
Ethical Hacking Academy · 课时

构建侦察工具

实用脚本

构建侦察工具 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

整合所有内容

现在,您将把变量、循环、工具执行和解析组合到一个实用的侦察脚本中。

目标是:接收一个目标,发现开放端口,识别服务,并在一条命令中保存整理好的结果。

规划脚本

优秀的工具会在编码前完成设计。我们的侦察脚本将:

  • 验证输入(要求提供目标)。
  • 创建输出目录。
  • 运行端口扫描,然后进行版本检测。
  • 解析并汇总开放端口。

标头和输入检查

从 shebang、安全选项和参数检查开始;如果未提供目标,则打印用法说明。

#!/bin/bash
set -euo pipefail
if [ "$#" -ne 1 ]; then
  echo "Usage: $0 <target>"
  exit 1
fi
target=$1

输出目录

创建一个按目标区分且带时间戳的文件夹,这样重复运行时不会相互覆盖。

stamp=$(date +%F_%H%M)
outdir="recon_${target}_${stamp}"
mkdir -p "$outdir"
echo "[*] Results in $outdir"

第 1 步:快速端口扫描

首先在完整端口范围内快速找出哪些端口处于开放状态。

echo "[*] Scanning ports on $target"
nmap -p- --open -T4 "$target" -oG "$outdir/ports.gnmap" >/dev/null

第 2 步:解析开放端口

从可供 grep 解析的输出中提取开放端口号,整理为逗号分隔的列表,供下一次扫描使用。

ports=$(grep -oE '[0-9]+/open' "$outdir/ports.gnmap" | cut -d/ -f1 | paste -sd, -)
echo "[*] Open ports: $ports"

第 3 步:版本检测

仅针对开放端口运行专门的服务版本扫描,这比再次扫描所有端口更快,也更安静。

if [ -n "$ports" ]; then
  nmap -sV -p "$ports" "$target" -oN "$outdir/services.txt"
fi

第 4 步:汇总

打印一份干净的汇总信息,让操作人员无需打开文件即可查看结果。

echo "=== Summary for $target ==="
grep 'open' "$outdir/services.txt" | awk '{print $1, $3}'

添加日志记录

追加一行带时间戳的日志,以便您重建运行过什么以及何时运行——这对报告编写很重要。

echo "$(date) scanned $target -> $ports" >> recon.log

运行工具

赋予它可执行权限,并将其指向实验室 VM。所有内容都会写入输出文件夹。

chmod +x recon.sh
./recon.sh 192.168.56.10

进一步扩展

您可以在此基础上添加:

  • 当 80/443 端口开放时,对 Web 目录进行暴力枚举。
  • 使用 netcat 抓取横幅信息。
  • 遍历目标列表,而不是只处理单个主机。
  • 生成 HTML 或 Markdown 报告。

快速检查

回想一下为什么要在版本扫描前进行解析。

回顾

您已经构建了一个可运行的侦察工具:

  • 验证输入,并创建带时间戳的输出目录。
  • 运行快速端口扫描,解析开放端口,然后仅对这些端口进行版本扫描。
  • 打印汇总信息并记录运行日志。
  • 确定了明确的扩展点(Web 暴力枚举、横幅抓取、报告生成)。

至此,Bash 脚本课程结束。

常见问题解答

「构建侦察工具」课时是免费的吗?

是的 — 「构建侦察工具」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「构建侦察工具」这节课中我会学到什么?

实用脚本 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「构建侦察工具」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 脚本基础
  2. 自动化侦察
  3. 解析输出
  4. 构建侦察工具
← 返回 Ethical Hacking Academy