Nmap可以用来检测活在网络上的主机(主机发现),检测主机上的开放的端口(端口发现或枚举),检测到响应的端口的软件(服务发现)和版本检测操作系统等等。
一、主机探测
扫描单个主机 nmap 192.168.1.2
扫描整个子网 nmap 192.168.1.1/24
如果想看到所有扫描的主机的列表 nmap –sL 192.168.1.1/24
扫描除某一个ip外的所有子网的主机 nmap 192.168.1.1/24 –exclude 192.168.1.1
扫描多个目标 nmap 192.168.1.2 192.168.1.3
扫描一个范围内的主机 nmap 192.168.1.1-100
如果有一个ip地址列表,将这个列表保存为一个txt文件,和nmap在同一目录下,扫描这个txt内的所有主机 nmap –iL target.txt
扫描除了某一个文件中的ip外的子网主机命令 nmap 192.168.1.1/24 -excludefile xxx.txt
二、端口扫描
常用的命令 nmap –F –sT –v nmap.org
其中,-F:扫描100个最有可能开放的端口
-v:获取扫描的信息
-sT:采用的是TCP扫描,不写也可以,默认采用的是TCP扫描
-p:指定要扫描的端口 nmap –p80,22,23 192.168.1.1
根据state那一列看端口的状态。
open :端口开启,数据到达主机,有程序在端口上监控
closed:端口关闭,数据到达主机,没有程序在端口上监控
filtered:数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
unfiltered:数据到达主机,但是不能识别端口的当前状态
open|filtered :端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
closed|filtered:只发生在IP ID idle扫描中
三、几种扫描模式
1.TCP扫描 –sT
这是一种最为普通的扫描,特点是扫描快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现。
运行的原理是通过TCP的三次握手进行信息的传递。SYN SYN/ACK ACK
2.SYN扫描 -sS
这是一种秘密的扫描方式之一。因为在SYN扫描中客户端和服务器端没有形成三次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志记录,一般不会在目标主机上留下任何的痕迹,但是这种扫描需要root权限或者管理员权限。
3.使用UDP ping 探测主机 nmap –PU 192.168.1.0/24
4.服务器版本探测 nmap -sV 192.138.1.1
5.精准的确认端口上运行的服务 nmap –sV –script unusual-port 192.168.1.1
四、探测目标主机的操作系统
nmap –O 192.168.1.19
nmap –A 192.168.1.19
-oN 导出扫描结果
-oX 导出扫描结果xml格式
五、防火墙躲避绕过
-f 分片绕过
-D 使用诱饵隐蔽扫描
Nmap –D 1.14.1.1,222.222.222.222 www.baidu.com
--source-port 源端口欺骗