一、四层发现
- 原理:使用TCP/UDP协议
- 优点:
- (1):可以进行路由并且扫描结果比较可靠
- (2):不太可能被防火墙过滤掉
- 缺点:
- (1):基于状态过滤的防火墙可能过滤扫描
- (2):全端口扫描速度慢
TCP有65535个端口,UDP也有65535个端口。
二、TCP探测
- 原理:利用TCP的三次握手来进行主机探测
(1):直接发送一个SYN数据包,如果收到一个SYN/ACK数据包,那么就说明主机存活
(2):发送一个未经请求的SYN/ACK数据包,如果收到RST数据包,那么就说明主机存活
1.发送SYN数据包
(1):查看IP数据包
(2):设置目的IP地址
(3):查看TCP数据包
(4):设置TCP标志位
(5):发送数据包
(6):查看收到的数据包
注意:如果收到的数据包的标志位是RA,原因是目标主机没有开启http服务,此时目标主机存活,但是端口关闭,因此目标主机不会与你的主机进行连接,会回复一个RA数据包。
2.发送SYN/ACK数据包
(1):查看IP数据包
(2):设置目的IP地址
(3):查看TCP数据包
(4):设置TCP标志位
(5):发送数据包
(6):查看收到的数据包内容
三、UDP探测
- 原理:一种面向无连接的不可靠传输协议,尽最大努力传输
(1):如果目标主机不存活,不回包
(2):如果目标端口开启,也可能不回包
(3):当主机存活,发包到其没开放的端口,会回应ICMP端口不可达(port-unreachable),则表明其主机在线(主要是根据端口不可达信息来判断主机是否存活)
(1):查看IP数据包
(2):设置目标IP地址
(3):查看UDP数据包
(4):设置UDP数据包的端口
(5):发送数据包
(6):查看收到的数据包
四、nmap
1.UDP扫描
(1):扫描一个IP地址
nmap IP地址 -PU端口号 -sn
-P:P代表端口列表
-U:U代表UDP
-sn:-sn表示Ping Scan,只进行主机发现,不进行端口扫描
(2):扫描一个网段
nmap IP网段 -PU端口号 -sn
(3):扫描文件列表中的IP
nmap -iL iplist.txt -PU端口号 -sn
2.TCP扫描
(1):扫描一个IP地址
nmap IP地址 -PA端口号 -sn
-P:P代表端口列表
-A:A表示TCP中的ACK数据包
-sn:-sn表示Ping Scan,只进行主机发现,不进行端口扫描
(2):扫描一个网段
nmap IP网段 -PA端口号 -sn
(3):扫描文件列表中的IP
nmap -iL iplist.txt -PA端口号 -sn