Nmap 主机发现与端口扫描

掌握行业标准的网络映射工具 Nmap。学习隐蔽的主机发现技术,执行多种 TCP/UDP 扫描类型,并针对大规模企业环境优化扫描性能。

网络安全工程师网络安全NmapLinux

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

Nmap 主机发现与端口扫描,教你用受控且保留证据的流程映射在线主机和暴露服务。4 个引导式实验涵盖主机发现、TCP/UDP 扫描机制、性能选择和输出格式;最后的挑战要求你独立映射一个模拟黑盒子网。

引导实验扫描 localhost 预置服务,挑战则提供包含 Web、Redis 和 DNS 主机的隔离 Docker 网络。你会区分主机在线与服务暴露,先控制范围再追求速度,并生成可供人工和命令行工具复核的扫描产物。

你将学到什么

  • 使用 -sn、ARP 和 ICMP probe 在不扫描端口的情况下发现在线主机
  • 比较完整 TCP Connect、半开放 SYN 和无连接 UDP 扫描行为
  • 解读 open、closed、filtered 和 open|filtered,而不把暴露等同于漏洞
  • 用 timing template、top ports、明确端口和窄范围限制扫描
  • 以 Normal、Grepable 和 XML 格式保存 Nmap 结果
  • 用 Shell 工具解析 Grepable 输出,提取开放服务的主机
  • 检查连接的子网,从主机列表扫描并汇总 TCP/UDP 发现

本课程适合谁

本课程适合希望学习 Nmap 实操基础的初级渗透测试人员、网络防御人员、系统管理员和安全学习者。课程聚焦发现与服务枚举,不包含漏洞利用或服务指纹识别。

前置要求: 会使用基本 Linux Shell,理解 IPv4 子网、TCP/UDP 端口、ICMP 和客户端—服务器网络,并理解安全评估的授权范围。

学习环境: 5 个在 Ubuntu 22.04 浏览器虚拟机中独立运行的活动,包括 4 个引导式实验和 1 个挑战。本地 Python 服务支持实验,专用 172.18.0.0/24 Docker 网络提供模拟 Nginx、Redis 和 DNS 目标。

常见问题

练习会扫描公网或第三方系统吗?

不会。引导实验只扫描 localhost,挑战使用训练虚拟机内创建的私有 Docker 子网。在其他环境中只能扫描自己拥有或明确获准评估的系统。

SYN 扫描会让我对防御人员完全不可见吗?

不会。它不完成 TCP 握手,可能减少应用层日志,但网络传感器、防火墙和抓包仍能检测。“隐蔽”描述扫描机制,不保证不可见。

为什么 SYN、ARP 和 UDP 扫描需要 sudo?

它们需要原始数据包或底层网络访问。TCP Connect 可使用操作系统普通 socket API,因此通常无需这些权限,这也是课程比较不同方法的原因。

开放端口能证明主机存在漏洞吗?

不能。它只表示可访问的服务边界。判断服务、版本、配置与实际弱点需要本课程之外的进一步授权分析。

教师

labby
Labby
Labby is the LabEx teacher.