共计 1299 个字符,预计需要花费 4 分钟才能阅读完成。
nmap 扫描器是一种能够自动检测主机安全性弱点的程序。扫描器通过发送特定的网络数据包,记录目标主机的应答消息,从而收集关于目标主机的各种信息。它用于快速扫描一个网络和一台主机开放的端口,还能使用 TCP/IP 协议栈特征探测远程主机的操作系统类型。
nmap 命令使用格式:
nmap [扫描类型 …] [通用选项]
详细的使用帮助,可以执行 man nmap、nmap 或 nmap –help 进行了解
nmap 有以下几种返回结果:
open:开放
closed:关闭
filtered:端口被防火墙屏蔽,无法确定其状态
unfiltered:端口没有被屏蔽,但是否开放需要进一步确定
open|filtered:端口是开放的或被屏蔽
closed|filtered:端口是关闭的或被屏蔽
使用范例:
nmap 支持直接使用 IP,也支持使用域名。
(1)使用 ip 和主机名扫描
nmap jpeng.xyz
nmap 111.231.62.189
在以上两张图中,由于我的 IP 和域名都是同一台主机,因此得出的扫描结果相同。
其中的 Not shown 部分可以看出主机是否启用了防火墙,在返回结果中的 973 filtered ports,表示被过滤了 973 个端口,所以是打开了防火墙的,对于其他的没有打开防火墙的主机,在 Not shown 的返回结果是类似于 XXX closed ports,表示没有打开防火墙。
直接使用 nmap+ 空格 + 域名或 IP 地址 进行的扫描时普通速度的扫描,时间较长。
可以使用 nmap”+“空格”+“-F”+ 空格 +“域名或 IP 地址”来进行加速扫描,时间较短。
nmap -F 111.231.62.189
(2)同时扫描主机操作系统版本:输入“nmap+ 空格 +“-O”+ 空格 +IP 地址或域名
nmap -FO 111.231.62.189
(3)扫描所有的 TCP 端口:输入“nmap+ 空格 +“-sT”+ 空格 +IP 地址或域名”
nmap -sT 111.231.62.189
(4)扫描所有的 UDP 端口:输入“nmap+ 空格 +“-sU”+ 空格 +IP 地址或域名”
nmap -sU 111.231.62.189
(5)扫描指定的端口:输入“nmap+ 空格 +”-P”+ 端口号 + 空格 +“-sU 或 -sT”+ 空格 +IP 地址或域名”
nmap -p 53 -sT 111.231.62.189
表示指定扫描此 IP 的 TCP 53 端口
nmap -p 53 -sU 111.231.62.189
表示指定扫描此 IP 的 UDP 53 端口
(6)相应返回结果的实际演示
在此还是使用 53 端口来演示,启用 named 以后主机就同时监听了 TCP 53 和 UDP 53 端口。
现在在防火墙配置的是同时允许 TCP 53 和 UDP 53 入站,结果如下:
nmap -p 53 -sU 111.231.62.189
可以看到都是 open 开启的状态。
接着在防火墙入站规则里将 TCP 53 设置为拒绝,再次执行,结果如下:
可以看到 TCP 53 的返回结果已经是 filtered 被屏蔽状态。
我们再将防火墙入站规则里的 UDP:53 也设置为拒绝,再次执行:
PS: 上面截图中的命令 nmap -p53 -sUT 111.231.62.189 是简写