1. TCP,UDP端口扫描的实现形式
(1) 端口扫描:端口扫描时主动连接到目标系统的TCP和UDP端口,以确定在目标系统上哪些服务正在运行,或者哪些服务处于监听状态的过程
(2) SYN扫描:双方并没有建立起一条完整的连接,而是扫描着先向被扫描的目的端口发出一个SYN包,如果从目标端口返回一个syn/ack包,就可以断定该端口处于监听状态(即端口是开放的),如果返回rst包,则表明端口不在监听状态,是关闭的。
(3) 使用syn扫描的优点:速度快,如果不被防火墙过滤的话,基本都能收到应答包,缺点:扫描行为容易被发现,并且它是不可靠的,容易丢包
(4) FIN扫描:主动结束的一方发送FIN包,当我们发送一个FIN包给一个非监听的端口时,会有RST应答,反之,发给一个正在监听的端口时,不会有任何回应。
(5) FIN扫描优点:隐蔽性好,速度快,缺点:只能用于Linux系统,Windows系统下无效
(6) UDP recvfrom扫描,UDP ICMP端口不可达扫描,我采用后者,也就是,给一个端口发送UDP报文,如果端口是开放的,则没有相应,如果端口是关闭的,对方会回复一个ICMP端口不可达报文。