安装 Nmap 并执行端口扫描

NmapBeginner
立即练习

介绍

在本实验中,你将学习 Nmap 的基本功能,这是一款强大的网络扫描和安全审计工具。你将安装 Nmap 并使用它来发现本地机器上的开放端口。

此外,你还将收集有关这些开放端口上运行服务的详细信息,从而增强你对网络安全和扫描技术的理解。

这是一个「挑战」项目,它与「引导实验」的不同之处在于,你需要尝试独立完成挑战任务,而不是按照实验步骤一步步学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 93%。它在学习者中获得了 98% 的好评率。

Nmap 安装与端口扫描

在开始探索网络扫描之前,必须了解网络扫描是网络安全中的一项关键技术。它能帮助我们发现网络中正在运行的服务以及哪些端口是开放的。端口就像是网络中的门,允许不同类型的数据进入和离开系统。例如,Web 服务器通常使用 80 端口处理 HTTP 流量。

现在,为了执行网络扫描,我们需要合适的工具。在本实验中,我们将使用 Nmap,它是一款功能强大且广泛使用的网络探测和安全审计工具。它可以帮助我们发现开放端口及其运行的服务。因此,我们首先要在系统上安装 Nmap,然后使用它对本地机器进行一些基础扫描。通过这种方式,我们可以深入了解哪些服务正在运行以及可能暴露的风险,这对于识别安全隐患至关重要。

任务

  1. 在你的 Ubuntu Linux 系统上安装 Nmap
    • 安装 Nmap 是第一步。Ubuntu 是一个流行的 Linux 发行版,它拥有名为 apt 的软件包管理器,可以轻松安装软件。安装 Nmap 后,我们就拥有了开始扫描网络所需的工具。
  2. 使用 Nmap 扫描本地主机(127.0.0.1)在 1 - 10000 范围内的开放端口
    • 本地主机地址 127.0.0.1 指的是你自己的机器。扫描此地址有助于了解本地系统上运行的服务。我们将扫描 1 到 10000 之间的端口,因为许多常用服务都使用此范围内的端口。例如,SSH 通常使用 22 端口,而 FTP 使用 20 和 21 端口。
  3. 对发现的所有开放端口执行版本扫描,以获取运行服务的详细信息
    • 一旦找到了开放端口,版本扫描将告诉我们更多关于这些端口上运行的服务的信息。了解服务版本非常重要,因为它可以帮助我们识别该版本是否存在任何已知的安全漏洞。

要求

  • /home/labex/project 目录下使用 zsh 终端执行所有命令
    • /home/labex/project 目录是我们的工作区域。与其他 Shell 相比,使用 zsh 终端可以提供更友好且功能更丰富的命令行环境。
  • 使用 Ubuntu 软件包管理器(apt)安装 Nmap
    • Ubuntu 中的 apt 软件包管理器是安装软件的可靠方式。它负责下载 Nmap 所需的文件和依赖项。
  • 在初始端口扫描中,使用 Nmap 的端口范围指定功能
    • Nmap 具有允许我们指定扫描端口范围的功能。这非常有用,因为我们不想扫描所有可能的端口,那会非常耗时。通过指定 1 到 10000 的范围,我们可以专注于最相关的端口。
  • 使用 Nmap 的版本扫描功能获取已发现服务的详细信息
    • Nmap 的版本扫描功能会向开放端口发送特殊的探测包,以确定服务名称及其版本。这些信息对于安全分析至关重要。
  • 记录任何已发现服务的端口号、服务名称和版本信息
    • 记录这些信息有助于我们追踪发现的内容。它可以用于进一步的分析,例如检查服务是否为最新版本,或者是否存在已知的安全漏洞。

示例

完成任务后,你应该能够回答以下问题:

  1. 在指定范围内你发现了多少个开放端口?
    • 这个问题有助于你了解本地系统的安全态势。开放端口数量较多可能意味着风险较高。
  2. 你发现的某个开放端口的端口号是多少?
    • 了解端口号是理解运行何种服务的第一步。不同的服务使用不同的端口。
  3. 该端口上运行的是什么类型的服务?
    • 识别服务有助于你确定该服务对于系统是否必要,以及其配置是否安全。

请确保使用适当的 Nmap 命令来收集所有必需的详细信息。

✨ 查看解决方案并练习

总结

在本实验中,你学习了如何安装 Nmap,并利用它来发现和分析本地机器上运行的服务。这次动手实践展示了使用 Nmap 进行网络发现和服务检测的核心步骤。

内容涵盖了软件包安装、基础端口扫描以及版本探测,为理解网络扫描技术打下了坚实的基础。