Linux 中 20 个很棒的 Nmap 命令示例

[ad_1]

地图 代表 Network Mapper,它是一个免费的开源网络发现和侦察工具,用于主机发现和收集有关主机的详细信息。 用 C、C++ 和 Python 编写,最初于 1997 年 9 月发布,nmap 已成为网络安全和数字取证专业人士不可或缺的工具,他们依靠它来揭示有关目标主机的详细信息并发现潜在的漏洞。 Nmap 揭示诸如网络上的活动主机、开放端口、操作系统和服务检测以及执行隐蔽扫描等信息。

在本指南中,我们重点介绍了一些方便的 Nmap 命令,您可以使用这些命令从主机系统中检索尽可能多的信息。

安装nmap

在我们查看可以使用 nmap 命令的各种方式之前,让我们看看如何安装这个有用的命令行工具。 安装 nmap 的通用且最简单的方法是使用 折断 包。 Snaps 是预构建的软件包,附带库和依赖项。 它们在所有主要的 Linux 发行版中都很容易获得。 您可以在其中找到大量快照 快照存储. 但是,在从 snap 包安装 Nmap 之前,您需要先启用 snapd 守护程序。 这将使您能够下载和安装 snap 包。

要使用 snap 安装 Nmap,请运行以下命令。

$ sudo snap install nmap

或者,您可以选择使用每个 Linux 发行版家族独有的包管理器来安装 Nmap。

对于 Ubuntu 和 Debian

对于基于 Ubuntu/Debian/Mint 的发行版,请使用 APT 包管理器,如图所示。

$ sudo apt -y install nmap

CentOS 8 / RHEL 8 / Fedora 22 及更高版本

对于 CentOS 8 / RHEL 8 和 Fedora 22 及更高版本使用 dnf 包管理器。

$ sudo dnf -y install nmap

对于 CentOS 7 和 RHEL 7

对于 CentOS 7 / RHEL 7 及更早版本,请使用 yum 包管理器。

$ sudo yum -y install nmap

对于 Arch Linux / Manjaro

对于基于 Arch 的系统,请使用 pacman 包管理器,如图所示。

$ sudo pacman -S nmap

看过 nmap 的安装之后,现在让我们继续看看 Linux 中的 20 个很棒的 nmap 命令示例

1)Nmap命令扫描单个主机

在其基本形式中,nmap 命令可用于扫描单个主机而无需传递任何参数。 语法如图所示:

$ nmap 目标IP

例如;

$ nmap 192.168.2.102

或者,您可以指定域名,而不是指定 IP 地址,如下所示:

$ nmap scanme.nmap.org

2)扫描多个主机

一次扫描多台主机对于您想要一次扫描多台主机的广泛网络特别有用。 这是一种在单个命令中扫描主机而不是单独扫描每个主机的便捷方式。 例如,您可以在处理其他事情时扫描 10 个或更多主机或整个子网。 有不同的方法来解决这个问题。

首先,您可以在一行中指定多个 IP 地址或域,以空格分隔,如图所示;

$ nmap 192.168.2.1 192.168.2.103

不用输入完整的 IP 地址,您可以用逗号分隔结尾,如图所示。

$ nmap 192.168.2.1,102,103

此外,您可以使用 连字符. 例如,下面的命令扫描主机从 192.168.2.1 到 192.168.2.100

$ nmap 192.168.2.1-100

3) 使用 nmap 扫描子网

此外,您可以使用通配符扫描整个子网,如下所示:

$ nmap 192.168.2.*
OR
$ nmap 192.168.2.0/24

要优化扫描并仅发现子网中的活动主机,请使用 -sP 选项 如图所示。

$ nmap -sP 192.168.2.*

4) 使用详细选项获取更多信息

要在 nmap 扫描期间获得更可靠的输出,请使用 -v 选项。 此选项打印出扫描的详细信息,例如扫描的性质和发现的开放端口。

$ nmap -v 192.168.2.1

5) 从 Nmap 扫描中排除主机

在扫描一系列主机时,您可能决定从扫描中排除单个主机。 要实现这一点,请使用 -排除 选项。 在下面的示例中,我们排除了主机 192.168.2.20 从被扫描。

$ nmap 192.168.2.0/24 --exclude 192.168.2.20

要从 Nmap 扫描中排除多个主机,请在文件中指定要排除的主机并将命令链接到该文件,如下所示:

$ nmap 192.168.2.* --excludefile exclude.txt

上面的命令排除了包含在 排除.txt 文件。

6) 执行快速扫描

顾名思义,您可以使用 nmap 通过传递 -F 标志 如图所示:

$ nmap -F 173.82.202.201

免责声明 – 此扫描比普通扫描产生更少的端口。

7) 扫描网络中的活动主机

这更像是 ping 扫描。 它检测子网中的活动主机。 要扫描活动主机,请通过 -sn 选项 后跟 IP 地址和子网。 例如:

$ nmap -sn 192.168.2.0/24

8) 扫描包含在文件中的主机

如果您有一个分段网络,尤其是带有 VLAN 的网络,则主机可能位于不同的子网中。 扫描它们的一种简单方法是在文本文件中定义它们的 IP 地址,并使用 -iL 选项.

$ nmap iL hosts.txt

这是主机文件的示例

$ cat hosts.txt
192.168.2.100
192.168.2.102
192.168.20.5-50

9) 执行扫描以检测防火墙

在执行漏洞测试或道德黑客攻击时,防火墙检测特别有用。 它允许系统管理员知道目标主机的防火墙是否启用。 要了解防火墙的状态,请使用 -到 如图所示。

$ nmap -sA 192.168.2.1

这将启动 ACK 扫描,检查数据包是否可以未经过滤地通过。 使用 -n 标志以防止目标主机上的反向 DNS 解析。

10) 使用 nmap 执行操作系统检测

Nmap 还可以提供有关目标系统的操作系统或操作系统以及版本检测的见解。 对于操作系统检测通过 -O 选项 如图所示。 我们将扫描托管在 Linux 系统上的云 VPS,看看 nmap 为我们提供了什么。

笔记: 如果您是普通用户,则需要调用 sudo 操作系统检测需要的命令 sudo 特权。

$ sudo nmap -O 173.82.202.201

Nmap 尽最大努力识别操作系统及其版本,然而,结果可能并不总是代表准确的结果。

11) 执行端口扫描

nmap 工具的一项基本任务是扫描主机系统上的端口。 您可以切入正题并使用 -p 标志后跟端口号,如图所示:

$ nmap -p 80 173.82.202.201

此外,您可以通过使用逗号分隔多个端口来扫描多个端口,如下所示:

$ nmap -p 80,443 192.168.2.1

您还可以通过用连字符分隔来定义要扫描的端口范围。

$ nmap -p 80-443 192.168.2.1

12) 扫描 TCP/UDP 端口

您可以缩小到扫描端口的范围 TCP 或者 UDP. 要扫描 TCP 端口,请使用 -sT 选项 如图所示。

$ nmap -sT 173.82.202.201

对于特定的 TCP 端口,例如端口 80,运行:

$ nmap -p T:80 173.82.202.201

对于 UDP 端口,请使用 -sU 选项.

$ nmap -sU 173.82.202.201

对于特定的 UDP 端口,例如端口 69,执行:

$ nmap -p U:69 173.82.202.201

13) 发现服务版本

在扫描可能的漏洞时,检测正在运行的服务及其版本以及它们正在侦听的端口至关重要。 这使您可以了解攻击者可以利用哪些服务来破坏您的系统。 有关服务和端口版本的知识使您能够决定是将服务更新到最新版本还是完全卸载它们。

要收集服务和端口信息,请使用 -sV 标志.

$ nmap -sV 173.82.202.201

14) 执行隐形扫描

nmap 扫描通常是“嘈杂的”并留下足迹,这些足迹可以被强大的 IDS(入侵检测系统)标记并最终追溯到您。 为了保持匿名,您可以使用 -sS 选项.

$ nmap -sS 173.82.202.201

15) 确定支持的 IP 协议

您可以检索有关目标系统支持的协议的信息 (ICMP,TCP, UDP 等)使用 -sO 标志.

$ sudo nmap -sO 173.82.202.201

16) 执行主动扫描

当。。。的时候 -A 选项 使用时,nmap 会提供非常详细的扫描结果,包括开放端口和运行服务的版本、操作系统检测,甚至执行目标主机的跟踪路由。

$ nmap -A 173.82.202.201

17) Save nmap 输出到文件

默认情况下,nmap 在终端上打印出扫描结果。 但是,如果您需要将结果保存在文本文件中以便在您方便时进行更多分析,则可以使用重定向运算符,如图所示。

$ nmap 173.82.202.201 > scanme.txt

要验证扫描结果是否已保存,请使用如图所示的 cat 命令。

$ cat scanme.txt

此外,您可以通过 -oN 选项 其次是输出文件和主机。

$ nmap -oN scanme.txt scanme.nmap.org

18) 打印出主机接口和路由

有时,您可能会发现需要查找主机系统的接口和路由以进行调试。 这可以通过通过 –iflist 选项.

$ nmap --iflist

19) 获得有关 nmap 的帮助

要满足您对其他 nmap 选项的好奇心,请使用 -h 标志。 这与获取 nmap 命令的帮助是同义词。

$ nmap -h

20) 检查 nmap 版本

要检查您使用的 nmap 版本,请运行以下命令:

$ nmap -v

这些只是您可以用来枚举各种主机系统的 20 个基本 Nmap 命令。 您仍然可以使用许多 nmap 选项来获取有关目标系统的详细信息,但我们列出的示例是一个很好的起点。 我们希望本指南有助于您熟悉 nmap 工具和各种命令示例。

还阅读Linux 中的 9 个 tee 命令示例

[ad_2]

Related Posts