使用 Nmap 扫描特定主机

NmapBeginner
立即练习

介绍

在这个实验(Lab)中,你将学习如何使用 Nmap(一个强大的网络扫描工具)扫描特定的主机。本实验(Lab)涵盖了通过 IP 地址和主机名扫描单个主机。

你将首先扫描 IP 地址 192.168.1.10,然后扫描主机名 scanme.nmap.org。此外,你将学习使用 -R 标志解析 IP 地址,使用 -v 标志增加详细程度,并将扫描结果保存到名为 specific.txt 的文件中。最后,你将在 Xfce 终端中查看保存的结果。

使用 nmap 扫描单个主机 192.168.1.10

在这一步中,我们将使用 Nmap 对单个主机执行基本扫描。Nmap 是一个强大的网络扫描工具,它通过发送数据包和分析响应来发现计算机网络上的主机和服务。这是网络管理员和安全专业人员的一项基本技能。

首先,让我们了解 Nmap 命令的基本语法:

nmap [options] target

其中:

  • nmap 是调用 Nmap 工具的命令。
  • [options] 是各种标志,用于修改扫描的行为(例如,指定扫描的类型、详细程度等)。
  • target 是你要扫描的机器的 IP 地址或主机名。

在这一步中,我们的目标是 IP 地址 192.168.1.10。我们将执行一个简单的扫描,以识别在此主机上运行的开放端口和服务。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

现在,执行以下命令:

nmap 192.168.1.10

此命令将启动对目标 IP 地址 192.168.1.10 的扫描。Nmap 将尝试确定目标机器上哪些端口是开放的。

你应该看到类似于以下内容的输出(确切的输出将取决于目标机器的配置):

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.10
Host is up (0.00020s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 2.21 seconds

此输出显示端口 22 (SSH)、80 (HTTP) 和 443 (HTTPS) 在目标机器上是开放的。Nmap 还指示 997 个端口已关闭,并且未在输出中显示。

使用 nmap 扫描主机名 scanme.nmap.org

在上一步中,我们使用 IP 地址扫描了单个主机。在这一步中,我们将使用主机名扫描主机。当你不知道目标的 IP 地址,但知道其域名时,这非常有用。Nmap 将在执行扫描之前自动将主机名解析为其对应的 IP 地址。

scanme.nmap.org 是 Nmap 项目提供的专用主机,用于测试和教育目的。扫描此主机是安全且合法的。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

现在,执行以下命令:

nmap scanme.nmap.org

此命令将启动对目标主机名 scanme.nmap.org 的扫描。Nmap 将首先将主机名解析为 IP 地址,然后执行扫描。

你应该看到类似于以下内容的输出:

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 10.84 seconds

此输出显示了 scanme.nmap.org 的 Nmap 扫描报告。它显示了解析的 IP 地址 (45.33.32.156)、开放端口(22 和 80)以及经过过滤的端口(25、135、139 和 445)。经过过滤的端口意味着 Nmap 无法确定该端口是打开还是关闭,因为存在网络过滤。

使用 nmap -R 192.168.1.10 解析 IP 地址

在这一步中,我们将使用 Nmap 的 -R 选项对 IP 地址 192.168.1.10 执行反向 DNS 解析(reverse DNS resolution)。反向 DNS 解析尝试查找与给定 IP 地址关联的主机名。这对于识别特定 IP 地址的用途或所有者非常有用。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

现在,执行以下命令:

nmap -R 192.168.1.10

-R 选项告诉 Nmap 始终对目标 IP 地址执行反向 DNS 解析。

你应该看到类似于以下内容的输出(确切的输出将取决于 IP 地址是否存在反向 DNS 记录以及网络配置):

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.10
Host is up (0.00020s latency).
rDNS record for 192.168.1.10: myhost.localdomain (This is just an example, the actual output depends on your network)
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 2.21 seconds

在此示例中,Nmap 能够将 IP 地址 192.168.1.10 解析为主机名 myhost.localdomain。如果未找到反向 DNS 记录,Nmap 通常只会显示 IP 地址,而不显示主机名。

注意:-R 选项会增加扫描时间,因为 Nmap 需要为每个 IP 地址执行 DNS 查询。

使用 nmap -v scanme.nmap.org 增加详细程度

在这一步中,我们将使用 -v 选项为我们的 Nmap 扫描增加详细程度(verbosity)。详细程度会增加 Nmap 在扫描期间显示的信息量,从而提供有关扫描过程和结果的更多详细信息。这对于故障排除或了解 Nmap 的工作方式很有帮助。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

现在,执行以下命令:

nmap -v scanme.nmap.org

-v 选项告诉 Nmap 增加详细程度级别。你可以使用 -vv 来获得更高的详细程度。

你应该看到类似于以下内容的输出(确切的输出将取决于目标机器的配置和网络状况):

Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Initiating Ping Scan at 10:15
Scanning scanme.nmap.org (45.33.32.156) [2 ports]
Completed Ping Scan at 10:15, 0.08s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:15
Completed Parallel DNS resolution of 1 host. at 10:15, 0.01s elapsed
Initiating SYN Stealth Scan at 10:15
Scanning scanme.nmap.org (45.33.32.156) [1000 ports]
Discovered open port 22/tcp on 45.33.32.156
Discovered open port 80/tcp on 45.33.32.156
Completed SYN Stealth Scan at 10:15, 4.69s elapsed (1000 total ports)
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

Nmap done: 1 IP address (1 host up) scanned in 4.79 seconds

请注意显示的附加信息,例如不同扫描阶段的开始和结束时间、正在扫描的端口以及发现的任何开放端口。这种详细的输出对于了解 Nmap 扫描的进度和结果非常有帮助。

使用 nmap -oN specific.txt scanme.nmap.org 保存扫描结果

在这一步中,我们将学习如何使用 -oN 选项将 Nmap 扫描结果保存到文件中。这对于记录你的发现、稍后分析结果或与他人分享结果非常有用。 -oN 选项以“普通”人类可读的格式保存结果。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

现在,执行以下命令:

nmap -oN specific.txt scanme.nmap.org

-oN specific.txt 选项告诉 Nmap 将扫描结果以普通格式保存到名为 specific.txt 的文件中。该文件将在你的当前目录(~/project)中创建。

扫描完成后,你可以使用 cat 命令查看文件的内容:

cat specific.txt

你应该看到 scanme.nmap.org 的 Nmap 扫描报告打印到终端。这与扫描期间屏幕上显示的信息相同,但现在它已保存在文件中。

specific.txt 的内容将类似于:

## Nmap 7.92 scan initiated Fri Oct 27 10:20:00 2023
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.072s latency).
Other addresses for scanme.nmap.org (not scanned): 2600:3c01::a02f:d731
Not shown: 994 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
25/tcp    filtered smtp
80/tcp    open     http
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds

## Nmap done at Fri Oct 27 10:20:10 2023 -- 1 IP address (1 host up) scanned in 10.00 seconds

在 Xfce 终端中查看结果

在前几步中,我们执行了各种 Nmap 扫描,并将结果保存到名为 specific.txt 的文件中。在这一步中,我们将使用 Xfce 终端查看此文件的内容。这使我们能够分析扫描结果,并识别目标系统上潜在的漏洞或开放端口。

打开你的 Xfce 终端。确保你在 ~/project 目录中。

要查看 specific.txt 文件的内容,你可以使用 cat 命令:

cat specific.txt

此命令将在终端中显示文件的全部内容。

或者,你可以使用 less 命令逐页查看文件:

less specific.txt

此命令允许你使用箭头键或 Page Up 和 Page Down 键滚动浏览文件。要退出 less,请按 q

你还可以使用 nano 文本编辑器打开和查看文件:

nano specific.txt

此命令将在 nano 编辑器中打开文件,允许你滚动浏览文件,甚至在需要时进行更改。要退出 nano,请按 Ctrl+X,如果你没有进行任何更改,则按 N,如果你想保存更改,则按 Y,最后按 Enter

通过查看扫描结果,你可以识别开放端口、正在运行的服务以及有关目标系统的其他信息。此信息可用于评估系统的安全态势并识别潜在的漏洞。例如,如果你看到端口 22 (SSH) 是开放的,你可能需要调查 SSH 配置以确保其安全。如果你看到端口 80 (HTTP) 或 443 (HTTPS) 是开放的,你可能需要检查 Web 服务器配置以及系统上运行的任何 Web 应用程序。

Nmap 实验到此结束。你已经学会了如何执行基本的 Nmap 扫描、解析主机名、增加详细程度以及将扫描结果保存到文件中以供以后查看。

总结

在这个实验中,我们学习了如何使用 Nmap 扫描特定的主机。我们首先使用主机的 IP 地址 192.168.1.10 扫描单个主机,以识别开放的端口和服务。介绍了基本的 Nmap 语法 nmap [options] target

然后,我们逐步使用主机名 scanme.nmap.org 扫描主机。提供的文档内容虽然被截断,但后续步骤可能会涵盖解析 IP 地址、增加详细程度以及将扫描结果保存到文件。