nmap命令-----高级用法
探测主机存活常用方式
(1)-sP
nmap -sP 10.0.3.0/24
这个命令可以用于探测局域网有哪些机器
打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
下面去扫描10.0.3.0/24这个网段的的主机
(2) -sn:
nmap -sn 10.0.1.161-166
-sn: Ping Scan - disable port scan #ping探测扫描主机, 不进行端口扫描 (测试过对方主机把icmp包都丢弃掉,依然能检测到对方开机状态)
(3)-sA
nmap 10.0.1.161 -sA
(发送tcp的ack包进行探测,可以探测主机是否存活)
端口扫描的高级用法
(1) -sS :半开放扫描(非3次握手的tcp扫描)
nmap -sS 10.0.1.161
(2) sT:3次握手方式tcp的扫描
nmap -sT 10.0.1.161等同于 nmap 10.0.1.161
Tcp connect() scan (sT)和上面的Tcp SYN 对应,TCP connect()扫描就是默认的扫描模式.
不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().
优点:你勿需root权限。普通用户也可以使用。
缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
(3)sU:udp端口的扫描
nmap -sU 10.0.1.161
Udp scan(sU) 顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,
如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.udp端口扫描速度比较慢
(4)sF:也是tcp的扫描一种,发送一个FIN标志的数据包
FIN scan(sF)
nmap -sF 10.0.1.161
有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
和sS扫描效果差不多,比sT速度快
(5)sW:窗口扫描
Window扫描,即窗口扫描
nmap -sW 10.0.1.161
(6) sV:版本检测(sV)
版本检测是用来扫描目标主机和端口上运行的软件的版本,如下扫描,多出了ssh的版本信息