网络扫描----NMAP
NMAP是一个强大的端口扫描类安全测评工具,官方网是http://nmap.org/。NMAP被设计为检测主机数量众多的巨大网络,支持ping扫描、多端口检测、OS识别等多种技术。使用NMAP定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险。
安装NMAP软件包
可以使用NMAP官方网站下载的最新版源码包,这里以RPM方式安装的nmap软件包为例。
wget https://nmap.org/dist/nmap-7.70-1.x86_64.rpm // 下载nmap软件包
rpm -ivh nmap-7.70-1.x86_64.rpm // 安装
扫描及语法类型
NMAP的扫描程序位于/usr/bin/nmap目录下,使用时基本命令格式如下所示。
nmap [扫描类型] [选项] <扫描目标>
其中,扫描目标可以是主机名、IP地址或网络地址等,多个目标以空格分隔;常用的选项有“-p”、“-n”,分别用来指定扫描的端口、禁用反向DNS解析(以加速扫描速度);扫描类型决定着检测的方式,也直接影响扫描的结果。
常见的几种扫描类型
-sS、TCP SYN扫描(半开扫描): 只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。
-sT、TCP 连接扫描: 这是完整的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
-sF、TCP FIN扫描: 开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
-sU、UDP扫描: 探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
-sP、ICMP扫描: 类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
-PO,跳过ping检测: 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。
扫描实例
针对本机进行扫描,检查开放了哪些常用的TCP端口、UDP端口
nmap 192.168.202.187 // 扫描常用TCP端口
nmap -sU 120.77.42.26 // 常用UDP端口扫描
在扫描结果中,STATE列若为open则表示端口为开放状态,为filtered表示可能被防火墙过滤,为closed表示端口为关闭状态
检查192.168.202.0/24网段中有哪些主机提供FTP服务
nmap -p 21 192.168.202.0/24
快速检测192.168.4.0/24 网段中有哪些存活主机(能ping通)
nmap -n -sP 192.168.202.0/24
实际上,NMAP提供的扫描类型、选项还有很多,适用于不同的扫描需求,更多内容可查看官方文档