美国服务器常见的端口扫描类型有7种,分别是:1、TCP Connect扫描;2、SYN扫描;3、NULL扫描;4、FIN扫描;5、ACK扫描;6、Xmas-Tree扫描;7、Dump扫描等常见的端口扫描类型。
具体内容如下:
TCP Connect扫描
TCP Connect扫描试图与每一个TCP端口进行三次连接通信,完成三次连接过程。如果能够成功建立连接,则证明端口开放,否则为关闭。说明这种类型的扫描因为要完成一次完整的TCP连接,所以它的准确性非常高,但也最容易被防火墙或入侵检测系统检测到,,而且,在目标主机的日志中会记录大批的连接请求以及错误信息。
SYN扫描
SYN扫描要比 TCP Connect扫描隐蔽一些, TCP三次连接依次包含了SYNSYN-ACK和ACK3个数据包。SYN扫描仅仅发送初始的SYN数据包给目标主机,如果端口处于开放状态,那么目标主机将响应SYN-ACK数据包,如果端口处于关闭状态,那么目标主机将响应RST数据包。
这是前两次连接的过程,SYN扫描与TCP Connect扫描完全相同。两者不同的地方是接下来SYN扫描要做的工作:当主机B返回 SNY/ACK数据包后,计算机A并不使用ACK数据包作为响应,替代是计算机A响应一个RST数据包,从而断开连接。通过在建立会话之前断开连接,SYN扫描能够避开某些防火墙的检测。但是,许多入侵检测系统能够监测到SYN扫描。
NULL扫描
在NULL扫描中,将一个没有设置标志位的数据包发送给TCP端口。在正常的TCP通信中,至少要设置标志位。然而在NULL扫描中,所有标志位都不设置。根据RFC793的要求,在端口关闭的状态下,如果收到了一个没有设置标志位的数据字段,那么接收主机应该丢弃这个分段,并发送一个RST数据包。否则不会响应包到达发起扫描的客户端计算机。
当向每一个TCP端口发送没有设置标志位的数据包时,如果目标主机上该端口处于关闭状态,那么它将响应一个RST数据包,如果该端口处于开放状态,那么主机忽略该数据包,不会响应包到达发起扫描的客户端计算机。
FIN扫描
另一种类型的反向扫描为FN扫描,它与NULL扫描相似,同样比SYN和 TCP Connect扫描更隐蔽一些,但精确度也相对低一些。
FIN位指示TCP会话的结束,在FIN扫描中,一个设置了FN位的数据包被发送给目标主机的每一个端口,与所有类型的反向扫描一样,响应RST数据包表示端口关闭,没有响应表示端口开放。同样需要注意的是Windows操作系统并不遵从RFC793,因此这类系统不能够对这种类型的扫描提供精确的结果。
ACK扫描
ACK扫描通常用来穿过防火墙的规则集。在ACK扫描中,使用响应包来发现防火墙的配置信息。如果某个端口被防火墙过滤,那么就不会返回数据包。如果某个端口没有被防火墙过滤,那么返回RST数据包。通过侦听RST数据包,可以了解哪些端口被防火墙过滤掉,哪些端口没有被过滤掉。
Xmas-Tree扫描
Xmas-Tree扫描发送带有下述标志的TCP数据包。
URG:指示数据是紧急数据,应该马上被处理。
PSH:强制将数据压入缓冲区。
FIN:在结東TCP会话时使用。
这个扫描中使用的技巧并不是这些标志原来的用途,但它们可以在一起同时使用。正常的TCP连接不应该同时设置这3个标志。Xmas-Tree扫描返回与其他反向扫描相同的结果,并且依然不能确定 Windows平台上端口的关闭与开放。
Dump扫描
Dumb扫描也称为Idle扫描或反向扫描,Dumb扫描是另一种扫描方法,在扫描目标主机的过程中,它使用第三方的僵尸计算机进行扫描。僵尸主机是一台被入侵的空闲主机。典型情况下,这台主机并不存储敏感数据,对这样的主机的访问通常并不会引起人们的注意。
在IDLE扫描中,僵尸主机向目标主机发SYN包。目标主机根据端口的不同状态,发送不同的回应,端口开放时回应 SYNACK,关闭时回应RST。僵尸主机对 SYNACK回应RST,对RST不做回应。因此只要监控僵尸主机的发包数量就可以知道目标主机端口的状态。为了获得伪装主机在扫描过程中的发包数量,我们可以利用某些操作系统存在的PID值来预测漏洞。