绝大多数应用程序运行在TCP或者UDP协议之上,这些协议是众多应用程序使用的传输机制,端口扫描是通过扫描主机确定哪一些TCP和UDP端口可以访问的过程。
端口扫描常见的几种类型: TCP Connect()扫描 SYN扫描 NULL扫描 ACK扫描 Xmas-Tree Dumb扫描
下面是TCP数据包的6个标志位: URG:紧急数据包
ACK:确认(应答数据包) PSH:将数据强制压入缓冲区 RST:连接复位(断开连接) SYN:连接请求 FIN:TCP连接结束
TCP建立连接的三次握手的过程:
1. SYN---->
A:请求方 2. <---SYN/ACK B:服务方
3. ACK----->
下面介绍常见的扫描类型 1. TCP Connect ()扫描
TCP Connect ()扫描试图与每个TCP端口进行三次握手通信,但是也最容易被防火墙或者入侵检测系统测到。尽量使用其他的扫描类型。
1 SYN----> 1 SYN---->
<---SYN/ACK 2 <---RST 2
3 ACK----->
端口开放 端口关闭
2. SYN扫描
比TCP Connect ()扫描隐蔽一些,SYN扫描仅发送初始的SYN数据包给目标主机。
1 SYN----> 1 SYN---->
<---SYN/ACK 2 <---RST 2
端口开放 端口关闭
3. NULL扫描 (反向扫描)
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
NULL扫描将一个没有标志位的数据包发送给TCP端口,根据RFC 793的要求
1 NULL----> 1 NULL---->
<---RST 2
端口开放 端口关闭
Windows主机不遵从RFC 793, Unix遵从RFC 793 比前两种更隐蔽。
4. FIN扫描 (反向扫描)
在FIN扫描中,一个FIN的数据包被发送给目标主机的每个端口。根据RFC 793的要求
1 NULL----> 1 NULL---->
<---RST 2
端口开放 端口关闭 5. ACK 扫描
ACK 扫描通常用来穿过防火墙的规则集,有助于确定一个防火墙的功能比较完善或者仅是一个简单的包过滤程序,ACK扫描使用响应包来发现防火墙的配置信息。端口被过滤则没有返回数据包,未被过滤返回RST数据包。
6. Xmas-Tree 扫描
也叫圣诞树扫描,它发送带有下述标志的TCP数据包; URG-----------紧急数据马上处理
PSH------------强制将数据压入缓冲区 FIN-------------结束会话
1 URG/PSH/FIN----> 1 URG/PSH/FIN----->
<---RST 2
端口开放 端口关闭 Xmas-Tree 扫描也不能确定windows平台的端口开放情况。
7. Dump扫描(哑扫描)
也称为Idle扫描或反向扫描,是另外一种扫描方法,它使用第三方僵尸计算机作为哑主机进行扫描。这个扫描中,攻击主机向目标主机发SYN包,端口开放时回应SYN/ACK; 端口回应RST。僵尸主机对SYN/ACK回应RST,对RST不作回应。通过监视僵尸主机的发包数量,就可以知道目标主机端口的状态。利用某些操作系统存在的IPID值获得僵尸主机的发包数量
阅读(1695) | 评论(0) | 转发(0) |