安全第一 网络端口扫描技术介绍( 三 )


ftp端口扫描主要使用ftp代理服务器来扫描tcp端口 。扫描步骤如下:
1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务器支持代理选项,能够跟S和T建立连接 。
2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口(称之为p-T)作为代理传输所需要的被动端口 。
3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输 。
4:如果端口p-T确实在监听,传输就会成功(返回码150和226被发送回给S) 。否则S回收到"425无法打开数据连接"的应答 。
5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完毕 。
FTP代理扫描不但难以跟踪,而且当ftp服务器在防火墙后面的时候五:其它扫描方法
Ping扫描
如果需要扫描一个主机上甚至整个子网上的成千上万个端口,首先判断一个主机是否开机就非常重要了 。这就是Ping扫描器的目的 。主要由两种方法用来实现Ping扫描 。
1:真实扫描:例如发送ICMP请求包给目标IP地址,有相应的表示主机开机 。
2:TCP Ping:例如发送特殊的TCP包给通常都打开且没有过滤的端口(例如80端口) 。对于没有root权限的扫描者,使用标准的connect来实现 。否则,ACK数据包发送给每一个需要探测的主机IP 。每一个返回的RST表明相应主机开机了 。另外,一种类似于SYN扫描端口80(或者类似的)也被经常使用 。
安全扫描器
安全扫描器是用来自动检查一个本地或者远程主机的安全漏洞的程序 。象其它端口扫描器一样,它们查询端口并记录返回结果 。但是它们 。它们主要要解决以下问题:
1:是否允许匿名登录 。
2:是否某种网络服务需要认证 。
3:是否存在已知安全漏洞 。
可能SATAN是最著名的安全扫描器 。1995年四月SATAN最初发布的时候,人们都认为这就是它的最终版本,认为它不但能够发现相当多的已知漏洞,而且能够针对任何很难发现的漏洞提供信息 。但是,从它发布以来,安全扫描器一直在不断地发展,其实现机制也越来越复杂 。
栈指纹
绝大部分安全漏洞与缺陷都与操作系统相关,因此远程操作系统探测是系统管理员关心的一个问题 。
远程操作系统探测不是一个新问题 。近年来,TCP/IP实现提供了主机操作系统信息服务 。FTP,TELNET,HTTP和DNS服务器就是很好的例子 。然而,实际上提供的信息都是不完整的,甚至有可能是错误的 。最初的扫描器,依靠检测不同操作系统对TCP/IP的不同实现来识别操作系统 。由于差别的有限性,现在只能最多只能识别出10余种操作系统 。
最近出现的两个扫描器,QueSO和NMAP,在指纹扫描中引入了新的技术 。QueSO第一个实现了使用分离的数据库于指纹 。NMAP包含了很多的操作系统探测技术,定义了一个模板数据结构来描述指纹 。由于新的指纹可以很容易地以模板的形式加入,NMAP指纹数据库是不断增长的,它能识别的操作系统也越来越多 。
这种使用扫描器判断远程操作系统的技术称为(TCP/IP)栈指纹技术 。
另外有一种技术称为活动探测 。活动探测把TCP的实现看作一个黑盒子 。通过研究TCP对探测的回应,就可以发现 TCP实现的特点 。TCP/IP 栈指纹技术是活动探测的一个变种,它适用于整个TCP/IP协议的实现和操作系统 。栈指纹使用好几种技术来探测TCP/IP协议栈和操作系统的细微区别 。这些信息用来创建一个指纹,然后跟已知的指纹进行比较,就可以判断出当前被扫描的操作系统 。
栈指纹扫描包含了相当多的技术 。下面是一个不太完整的清单:
1:FIN探测

推荐阅读