端口
“端口”在计算机和网络领域中是个非常重要的概念。它是指网络中的TCP协议、UDP协议的通信接口,端口号的范围从0到65535,分为系统默认端口号和一半端口号。
端口扫描
1、概念
对某一段端口或某个指定端口进行扫描。
2、原理
原理是使用TCP/IP协议,向远程目标主机的某一端口提出连接请求,并分析目标主机的应答状态,从而判断出目标系统端口的开关状态。
3、端口扫描的种类
在通常建立TCP连接之前需要进行三次握手和四次挥手,如下图:
3.1 全连接扫描
如上图,在进行全连接扫描时首先发送SYN,如果端口开启则返回SYN/ACK,可以正常建立连接,如果端口关闭则会返回一个RST命令。
全连接扫描优点:
(1)实现简单,对权限没有严格要求。
(2)系统中的任何用户都有权利使用。
(3)是得到banners信息的唯一方法。
(4)扫描速度快。
缺点:
(1)在日志文件中留下大量记录,容易被发现。
(2)容易被防火墙和IDS检测、过滤。
3.2 半连接扫描
如上图所示,当端口开启传回SYN/ACK时,客户端不会回传ACK建立连接,而是会返回RST。
优点:
(1)未建立TCP连接。
(2)不会被记录到系统日志中,扫描隐蔽。
缺点:
(1)需要攻击者拥有客户机的root权限。
(2)可以被防火墙检测和过滤。
3.3 隐蔽扫描
当端口开放时无响应但当端口关闭时服务器端会回传一个RST命令。
还有如下操作:
优点:
(1)隐蔽性高,能穿透一班防火墙或者IDS系统。
(2)目标主机上也不会留下痕迹。
缺点:
(1)数据包容易被丢弃。
(2)精确度偏低。
(3)不适用于windows系统。