端口扫描
Nmap
1. 基础扫描
扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描常用的1000个端口)
nmap 59.42.210.242
2. 指定端口扫描
扫描「指定端口」,使用
-p
参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口
nmap 59.42.210.242 -p 80
nmap 59.42.210.242 -p 1-80
nmap 59.42.210.242 -p 80,3389,22,21
nmap 59.42.210.242 -p 1-65535
nmap 59.42.210.242 -p- # -p- 等价于 -p 1-65535
3. 指定扫描方式
3.1 TCP 全连接扫描
- 使用
-sT
参数进行TCP全连接扫描。
「全连接扫描」使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。
nmap 59.42.210.242 -p 80 -sT
3.2 SYN 半连接扫描
- 使用
-sS
参数进行SYN半链接扫描。
「半链接扫描」只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放,否则判定端口关闭。
nmap 59.42.210.242 -p 80 -sS
3.3 隐蔽扫描
- 隐秘扫描,只适用于Linux系统。
「隐秘扫描」向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)
nmap 59.42.210.242 -p 80 -sF # Fin扫描
nmap 59.42.210.242 -p 80 -sN # Null扫描(所有flags都为0的TCP包)
nmap 59.42.210.242 -p 80 -sX # Xmas扫描(flags的FIN、URG、PUSH都为1的包)
Masscan
1. 指定端口扫描
扫描「指定端口」,使用
-p
参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口
masscan 59.42.210.242 -p 80
masscan 59.42.210.242 -p 1-80
masscan 59.42.210.242 -p 80,3389,22,21
masscan 59.42.210.242 -p 1-65535
masscan 59.42.210.242 -p- # -p- 等价于 -p 1-65535