Linux 中的 nmap 命令示例

地图(n网络 地图per) 是一种网络映射工具,被系统管理员、网络工程师甚至黑客广泛用于主机发现。

除了主机发现,它还可以用于发现端口规则、操作系统检测、漏洞扫描(你好黑客)等等。

因此,在本指南中,我将向您展示 nmap 命令的实际示例。

?我会用 scanme.nmap.org 作为 nmap 本身为大多数示例提供的目标。

nmap命令的实际例子

虽然您会发现大多数 Linux 发行版都预装了 nmap 包,但您可能没有预装它。

要知道您是否安装了它,请验证安装的版本:

nmap -v

如果它显示错误,您可以参考给定的命令。

在 Ubuntu/Debian 基础上安装 nmap:

sudo apt install nmap

对于 RHEL/Fedora 根据:

sudo dnf install nmap

对于基于 Arch 的发行版:

sudo pacman -S nmap

现在,让我们跳到示例。

1.扫描网络上开放的端口

要搜索开放端口,您所要做的就是将域名或 IP 地址附加到 nmap 命令:

nmap Target

但是如果你很着急,想尽快完成扫描,你可以使用 -F 旗帜:

nmap -F target

2.扫描多台主机

您可能需要扫描多个主机,而 nmap 提供了多种方法来同时扫描多个主机以进行广泛的搜索。

所以扫描多台主机有以下几种方式:

  • 将多个域或 IP 地址附加到 nmap 命令
  • 使用通配符一次搜索整个子网
  • 通过指定一个IP地址范围
  • 您还可以附加 IP 地址的不同结尾,而不是键入整个 IP。

因此,让我们从附加多个域/IP 地址开始。

通过附加域或 IP 地址扫描多个主机

所以基本上,如果你必须扫描 2-3 台主机,在我看来这是最简单的方法,你只需一个接一个地附加 IP/域。

为了 example,在这里,我一次扫描了 3 个 IP 地址:

nmap 192.168.1.9 192.168.1.8 192.168.1.10
通过使用 nmap 命令附加多个 IP 地址来扫描多个主机

使用通配符扫描整个子网

如果你必须扫描多个主机并且列表很长以至于你打字很累,你可以使用通配符。

使用 * 通配符,键入 IP 地址,并替换您的最后一个八位字节(您的 IP 在 . ) 与 * 象征:

nmap 192.168.1.*
在 Linux 上使用 nmap 命令扫描整个子网

通过指定 IP 范围扫描多台主机

假设我想扫描 3 个 IP 地址。 现在,手动输入每一个不是我和你们大多数人喜欢的方式。

在这种情况下,您可以指定 IP 地址范围。

为了 example,在这里,我扫描了从 192.168.1.8 到 192.168.1.10 的 IP 地址:

nmap 192.168.1.8-10
在 linux 上使用 nmap 命令通过指定 IP 地址范围来扫描多个主机

通过附加结束八位字节扫描多个主机

您可以通过附加 IP 地址的最后一部分来扫描多个主机。

为了 example,在这里,我搜索了: 192.168.1.8, 192.168.1.9, 和 192.168.1.10 通过附加最后一个八位位组:

nmap 192.168.1.8,9,10

3.扫描时排除主机

当您扫描多台主机时,您不必总是扫描给定范围内的每台主机。

在这种情况下,您使用 --exclude 标记并附加执行扫描时需要忽略的主机。

为了 example,在这里,我想忽略 192.168.1.6 在扫描子网时,我将使用以下内容:

nmap 192.168.1.* --exclude 192.168.1.6
使用 nmap 命令扫描网络时排除主机

4.执行扫描以检测防火墙上的过滤

您可以使用 nmap 命令发送 ACK 数据包,它会检查目标系统是否启用了防火墙,如果是,它会列出未过滤的端口。

为此,您必须使用 -sA 具有超级用户权限的标志:

sudo nmap -sA Target
在 linux 上使用 nmap 命令执行扫描以检测防火墙上的过滤

5.获取主机服务信息

扫描端口后了解服务后,您可能想了解更多有关这些服务的信息。

所以在这种情况下你可以使用 sV 旗帜:

nmap -sV Target
使用 nmap 命令获取有关主机服务的信息

5.扫描特定端口

要指定端口进行搜索,您必须使用 -p 旗帜:

nmap -p port_no Target

假设我想对端口号 443 执行扫描,那么我将使用以下命令:

nmap -p 443 scanme.nmap.org
在 linux 上使用 nmap 命令扫描特定端口

同样,如果要扫描多个端口,可以附加多个端口号:

nmap -p 443,80 scanme.nmap.org
在 linux 上使用 nmap 命令扫描多个端口

或者,如果要执行广泛的端口扫描,也可以指定端口范围:

nmap -p 20-80 scanme.nmap.org
通过在 linux 上使用 nmap 命令指定范围来扫描多个端口

6.隐身扫描

当您想绕过防火墙时会执行隐形扫描,因为这些扫描会使目标系统在不建立完整连接的情况下做出响应。

黑客喜欢这个实用程序的另一个原因!

要执行隐形扫描,您所要做的就是使用 -sS 具有超级用户权限的标志:

sudo nmap -sS Target
使用 nmap 命令以隐身模式扫描主机

7.获取主机的操作系统信息

正如我在开头提到的,nmap 命令也可用于查找目标主机的操作系统信息。

要获取操作系统信息,您所要做的就是使用 -A 扫描时标记:

nmap -A Target
使用 nmap 命令获取目标主机的操作系统信息

8.识别主机

这不是一个很大的功能,但在同时处理多台机器时会很有帮助。

您可以附加 -sL 标记到 nmap 命令,它将为您提供主机名,而无需任何有关目标的其他信息:

nmap -sL Target
使用 nmap 命令识别主机

同样,您可以使用通配符 * 使用 IP,它将获得子网内每个系统的主机名:

nmap -sL 192.168.1.*
使用 nmap 命令获取子网内每个系统的主机名

9.寻找活跃的主机

一般我们使用ping命令来检测主机是否up,也可以使用nmap命令来ping主机。

要 ping 主机,您必须使用 -sP 旗帜:

nmap -sP 192.168.1.0/24
使用 nmap 命令查找网络中的活动主机

10. 使用 nmap 时间策略更快地扫描网络

⚠️执行时间激进的扫描可能不会产生最准确的结果。

nmap 允许您从 5 次策略中进行选择,范围从 T0T5. 在哪里 T0 是最慢的 T5 是最快的。

nmap 实用程序运行于 T3 默认情况下,因此您可以根据需要调整速度。

要使用时间策略,请遵循给定的命令语法:

nmap [Time_Policy] Target

为了 example,在这里,我和 T4 获得比默认值更好的速度:

nmap -T4 scanme.nmap.org
使用带有 nmap 命令的时间策略来加快扫描速度

11.查找主机接口和路由

要查找主机接口和路由,您所要做的就是使用 nmap 命令执行 --iflist 旗帜:

nmap --iflist
使用 nmap 命令查找主机接口和路由

获取主机接口和路由的一种非常简洁的方法。 不是吗?

求更像nmap? 我们抓到你了!

如果您想了解更多网络命令,我们已经介绍了 21 个网络命令及其示例:

我希望您会发现本指南对您有所帮助。

如果你想让我介绍其他内容,或者对本指南有任何疑问,请在评论中告诉我。