centos默认nmap 6.4和nmap 7.8版本差异(服务识别准确率角度)
大家应该都听说过大名鼎鼎的端口扫描器nmap,目前许多centos上主流nmap仍然是6.4版本,而现有nmap最新版本已经到了7.8,那么这两个版本之间究竟有多少差别,本文将主要从服务的识别准确率角度入手,从实践出发详细阐述。
背景
-
关于两者差别其实是自己在写一个github开源项目中发现的一个问题,由于在对端口服务和服务版本的识别上需要用到nmap(masscan快速识别端口开放情况+nmap详细识别),所以将centos自带的6.4和7.8版本在服务的识别准确率上进行了详细记录。
关于该开源项目可详见:一款适用甲方企业的外网资产周期性扫描监控系统 -
另外centos7中通过
yum update nmap
命令无法将默认的nmap 6.4版本升级。
服务识别准确率差异
- 使用
nmap -Pn -p 6379 192.168.6.192 -sV
命令对redis
进行服务识别的结果,7.8版本准确识别出redis服务:
- centos默认nmap 6.4扫描结果
- nmap 7.8扫描结果
- 使用
nmap -Pn -p 80 192.168.6.183 -sV
命令对http
进行服务识别的结果,7.8版本准确识别出http服务和banner:
- centos默认nmap 6.4扫描结果
- nmap 7.8扫描结果
- 使用
nmap -Pn -p 3306 192.168.6.182 -sV
命令对mysql
进行服务识别的结果,7.8版本准确识别出mysql服务及mysql类型(MariaDB):
- centos默认nmap 6.4扫描结果
- nmap 7.8扫描结果
- 使用
nmap -Pn 192.168.6.196 -p 9200 -sV
命令对elasticsearch
进行服务识别的结果,7.8版本准确识别出elasticsearch服务而且速度快10倍多:
- centos默认nmap 6.4扫描结果
- nmap 7.8扫描结果
nmap 7.8版本安装升级
安装步骤很简单,wget https://nmap.org/dist/nmap-7.80-1.x86_64.rpm && rpm -ivh nmap-7.80-1.x86_64.rpm
即可。
结论
- nmap最新的7.8版本比centos自带6.4版本在服务识别维度要准确许多,对部分服务,识别速度也有显著提升
- 我只拿nmap去扫了几个最常见服务,但连常见的
redis
、http
、mysql
和es
的识别都存在那么大差距,建议在用nmap扫端口服务前先升级到最新版本