端口扫描技术
-sS
TCP SYN扫描,半开放扫描,需要root权限
-sT
TCP Connect扫描,用户没有权限发送原始报文或扫描IPv6时,Nmap默认使用该扫描方式。Nmap调用connect()对目标端口建立连接,这种方式会花费更长的时间、会在目标机留下连接记录。
-sU
UDP扫描,可以和TCP扫描同时使用检查两种协议。
扫描比较慢,Linux 2.4.20内核限制一秒钟只发送一条目标不可到达消息。加速UDP扫描,可以并发扫描更多的主机,先只对主要端口进行快速扫描,从防火墙后面扫描,使用–host-timeout跳过慢速的主机。
-sN
TCP Null 扫描
不设置任何标志位(tcp标志头是0)
-sF
TCP FIN 扫描
只设置TCP FIN标志位
-sX
Xmas 扫描
设置FIN,PSH,URG标志位,就像点亮圣诞树上所有的灯一样
-sN,-sF,-sX都基于TCP RFC来区分open和closed端口。IDS可以发现这三种方式,而且并不是所有系统都严格遵循RFC 793,例如Microsoft Windows,Cisco,BSDI,IBM OS/400,不过Unix系统都能工作。这三种模式无法区分open还是filtered
-sA
TCP ACK扫描
不能区分open和open|filtered端口。用于发现防火墙规则,确定它们是有状态还是无状态,哪些端口是被过滤掉的。当扫描未被过滤的系统时,open(开放的)和closed(关闭的) 端口都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的),意思是 ACK报文不能到达,但至于它们是open(开放的)或者 closed(关闭的) 无法确定。不响应的端口或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)
-sW
TCP窗口扫描
TCP窗口值为整数,表示端口开启,TCP窗口值为0表示端口关闭
-sM
Mainmon扫描
和-sN,-sF,-sX方式完全一样,除了探测报文是FIN/ACK
–scanflags
定制的TCP扫描
–scanflags选项可以指定任意TCP标志位来设计扫描。
1
–scanflags URGACKPSHRTSSYNFIN
-sI
TCP端口盲扫描,没有报文从真实的IP地址发送到目标
1
-sI <zombie host[:probeport]>
默认端口80
可以尝试使用可能被信任的zombies扫描目标
https://www.cnblogs.com/FyJianc/p/11699137.html