Nmap(“网络映射器”)是免费开放源代码(许可证)实用程序,用于网络发现和安全审核。许多系统和网络管理员还发现它对于诸如网络清单,管理服务升级计划以及监视主机或服务正常运行时间之类的任务很有用。Nmap以新颖的方式使用原始IP数据包来确定网络上可用的主机,这些主机提供的服务(应用程序名称和版本),它们正在运行的操作系统(和OS版本),包过滤器/防火墙的类型。正在使用中,还有许多其他特性。它旨在快速扫描大型网络,但可以在单个主机上正常运行。Nmap可在所有主要的计算机操作系统上运行,并且官方二进制软件包可用于Linux,Windows和Mac OSX。除了经典的命令行Nmap可执行文件之外,Zenmap),灵活的数据传输,重定向和调试工具(Ncat),用于比较扫描结果的实用程序(Ndiff)以及数据包生成和响应分析工具(Nping)。
1.主机发现
-sn (最常用的参数):只进行主机发现,不进行端口扫描
2.端口扫描
端口扫描原理:端口扫描是nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,nmap会扫描最有可能开发的一千个TCP端口,nmap通过探测将端口划分为6个状态:
open 端口是开放的
closed 端口是关闭的
filtered 端口被防火墙IDS/IPS屏蔽,无法确定其状态
unfiltered 端口没有被屏蔽,但是否开放需要进一步确定
open|filtered 端口是开放的或被屏蔽的
closed|filtered 端口是关闭的或被屏蔽的
端口扫描方便非常强大,提供了以下探测方式:
TCP SYN scanning
TCP connect scanning
TCP ACK scanning
TCP FIN/Xmas/NULL scanning
UDP scanning
其他方式
nmap -sS -sU -T4 -top-ports 300 ip
参数-sS表示用TCP SYN方式扫描TCP端口,-sU表示扫描UDP端口,-T4表示时间级别配置4级,--top-ports 300 表示扫描300个最有可能开放的TCP和UPD端口
版本探测:
nmap -sV ip
OS探测:
nmap -O ip
3.漏洞扫描
nmap 目标 --script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute
扫描出可爆破的端口
扫描漏洞:
nmap 目标 --script=auth,vuln