Linux 中的 nmap 命令示例
nmap 命令可用于查找网络上的设备、开放端口等。以下是 nmap 的一些常见用途。
nmap (network mapper) 是一种网络映射工具,被系统管理员、网络工程师甚至黑客广泛用于主机发现。
除了主机发现之外,它还可以用于发现端口规则、操作系统检测、漏洞扫描(hello hackers)等。
因此,在本指南中,我将向您展示 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/域名一一附加即可。
例如,在这里,我一次扫描了3个IP地址:
nmap 192.168.1.9 192.168.1.8 192.168.1.10
使用通配符扫描整个子网
如果您必须扫描多个主机,并且列表足够长,让您在打字时感到疲倦,则可以使用通配符。
要使用 *
通配符,请键入 IP 地址,然后将最后一个八位字节(.
之后 IP 的最后部分)替换为 *
符号:
nmap 192.168.1.*
通过指定IP范围扫描多个主机
假设我想扫描 3 个 IP 地址。现在,手动输入每一项并不是我和你们大多数人所喜欢的方式。
在这种情况下,您可以指定 IP 地址的范围。
例如,在这里,我扫描了从 192.168.1.8 到 192.168.1.10 的 IP 地址:
nmap 192.168.1.8-10
通过附加结束八位字节来扫描多个主机
您可以通过附加 IP 地址的最后部分来扫描多个主机。
例如,在这里,我通过附加最后一个八位字节来搜索:192.168.1.8
、192.168.1.9
和192.168.1.10
:
nmap 192.168.1.8,9,10
3. 扫描时排除主机
当您扫描多个主机时,您不必总是扫描给定范围内的每一台主机。
在这种情况下,您可以使用 --exclude
标志并附加执行扫描时需要忽略的主机。
例如,在这里,我想在扫描子网时忽略 192.168.1.6
,因此我将使用以下内容:
nmap 192.168.1.* --exclude 192.168.1.6
4. 执行扫描以检测防火墙上的过滤
您可以使用nmap命令发送ACK数据包,它会检查目标系统是否启用了防火墙,如果是,则会列出未过滤的端口。
为此,您必须使用具有超级用户权限的 -sA
标志:
sudo nmap -sA Target
5. 获取主机服务信息
一旦您在扫描端口后了解了服务,您可能想了解有关这些服务的更多信息。
因此,在这种情况下,您可以使用 sV 标志:
nmap -sV Target
5. 扫描特定端口
要指定端口、进行搜索,您必须使用 -p
标志:
nmap -p port_no Target
假设我想通过端口 443 执行扫描,那么我将使用以下命令:
nmap -p 443 scanme.nmap.org
同样,如果要扫描多个端口,可以附加多个端口号:
nmap -p 443,80 scanme.nmap.org
或者,如果您想执行广泛的端口扫描,您也可以指定端口范围:
nmap -p 20-80 scanme.nmap.org
6. 以隐身模式执行扫描
当您想要绕过防火墙时,会执行隐形扫描,因为这些扫描会使目标系统在不建立完整连接的情况下做出响应。
这是黑客喜欢这个实用程序的另一个原因!
要执行秘密扫描,您所要做的就是使用具有超级用户权限的 -sS
标志:
sudo nmap -sS Target
7. 获取主机操作系统信息
正如我在开始时提到的,nmap 命令也可用于查找目标主机的操作系统信息。
要获取操作系统信息,您所要做的就是在扫描时使用 -A
标志:
nmap -A Target
8. 识别主机
这不是一个很大的功能,但在同时处理多台机器时会很有帮助。
您可以将 -sL
标志附加到 nmap 命令,它会为您获取主机名,而无需有关目标的任何其他信息:
nmap -sL Target
同样,您可以将通配符 *
与 IP 一起使用,它将获取子网内每个系统的主机名:
nmap -sL 192.168.1.*
9. 查找活跃主机
一般我们使用 ping 命令来检查主机是否启动,也可以使用 nmap 命令来 ping 主机。
要 ping 主机,您必须使用 -sP
标志:
nmap -sP 192.168.1.0/24
10.使用nmap时间策略更快地扫描网络
nmap 允许您从 T0
到 T5
的 5 种策略中进行选择。其中 T0
最慢,T5
最快。
nmap 实用程序默认在 T3
上运行,因此您可以根据需要调整速度。
要使用时间策略,请遵循给定的命令语法:
nmap [Time_Policy] Target
例如,在这里,我使用 T4
来获得比默认值更好的速度:
nmap -T4 scanme.nmap.org
11.查找主机接口和路由
要查找主机接口和路由,您所要做的就是使用 --iflist
标志执行 nmap 命令:
nmap --iflist
获取主机接口和路由的一种非常巧妙的方法。不是吗?
寻求更多类似 nmap 的内容?我们抓到你了!
如果您想了解更多网络命令,我们已经介绍了 21 个网络命令及其示例:
我希望本指南对您有所帮助。
如果您希望我介绍其他内容,或者对本指南有任何疑问,请在评论中告诉我。