端口扫描器(分享几款好用的端口扫描器)
一、端口扫描工具那个好啊_端口扫描器
扫描界的元老级人物当然是nmap了,就来黑客帝国中的片段也用nmap,但是这些都是普通级别的,专业的扫描器好几十万到上百万呢,那扫描的信息才叫准,例如绿盟新出的扫描器,相当权威了,让这个扫描器为你扫描一下系统安全性,就要付出好几万的信息费用。
二、端口扫描器的用法
扫描器使用方法大家好很高兴你能进如我们的第四课!由先在起所有的课将由我来主讲,由于课程涉及
的是网络最高安全问题,所以我不得不警告各位,你要清楚的认识到你在干什么,其实
第四课的内容我们换了又换,有很多是一些攻击性很强的,我不得不CUT,所以次文才迟
迟出来!!同时我也希望进入这一课时的学友能多多的帮助其它人!
在INTERNET安全领域,扫描器可以说是黑客的基本武器,
一个好的TCP端口扫描器相当与几百个合法用户的口令及
密码是等同的,这样说一点也不过分!
1,什么是扫描器
扫描器是一种自动检测远程或本地主机安全性弱点的程序,
通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP
端口的分配及提供的服务!和它们的软件版本!这就能让我们
间接的或直观的了解到远程主机所存在的安全问题。
2,工作原理
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标
给予的回答,通过这种方法,可以搜集到很多关于目标主机的
各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP
目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!)
3,扫描器的运行平台!
尽管大多数的工作站是用UNIX的,由于UNIX的应用软件的可移殖
性,如今的扫描器以有了支持各种平台,这一点大大方便了许多
单机的用户!但同时也带来了更多的网络安全问题,这句老话我想
大家一定是听到过很多次!------网络安全刻不容缓!!!
4,扫描器能干什么?
扫描器并不是一个直接的攻击网络漏洞的程序,它不同于第二课中
的许多NUCK程序!它仅仅能帮助我们发现目标机的某些内在的弱点
而这些现存的弱点可能是(请看清楚可能是,并非一定)破坏目标
机安全关键,但是我想说明的是对于一个刚刚入们的黑客人来说
这些数据对他来说无疑是一个毫无价值的数据集合!,而对一个
掌握和精通各种网络应用程序的漏洞的黑客来说这就不仅仅是一个简单
的数据集合!他的价值远超过几百个有用的帐号!-------知识需要
积累!!!
5,种类
1。NNS(网络安全扫描器)
用PERL编写,工作在Sunos4.1.3
进行下面的常规的扫描
Sendmail,TFTP,匿名FTP,Hosts.equive,Xhost
增强扫描
Apple Talk,
Novell
LAN管理员网络
取得指定域的列表或报告!
用PING命令确定指定主机是否是活性的,
扫描目标机端口
报告指定地址的漏洞
你可以到这个地址下载
2.STROBE(超级优化TCP端口检测程序)
它是一个TCP端口的扫描器,能快速的识别指定机器上正运行
什么服务,
用于扫描网络漏洞
SATAN(安全管理员的网络分析工具)
扫描远程主机的许多已知的漏洞
FTPD中可写的目录
NFS
NIS
PSH
SENDMAIL
X服务
Jakal(秘密扫描器)
可以不留痕迹的扫描
IdenTCPscan
CONNECT扫描TFTP服务器子网
ESPScan扫描FSP服务器
XSCAN
实例扫描
或用关键字搜寻!你能了解到更多的情况!
1,UNIX平台的SAFEsuite
safesuite的组成,INTERNET,WEB,防火墙扫描!
safesuite的攻击,sendmail,FTP,NNTP,TELNET,RPC,NFS.
ISS的开发小组在最新的版本里还增设了IP欺骗和拒绝服务的攻击,用以支持对主机安全
性的分析。
可以运行的平台:Sun OS 4.1.3 up,SoLaris 2.0 up,HP/UX9.05 up,IBM AIIX 3.2.5 u
p
Linux 1.2.x,Linux1.3.x,Linux 1.3.76+
安装:
解压后拷贝到指定的目录,你可用下面的命令来解!
tar-xvf ISS_XXX.tar
运行ISS.install开始安装!
由于扫描的结果太长我就不一一写出来了!!大家可以多试试!很多有用的安全信息都
在这些扫描结果里!!通过MIT的X窗口系统标准配置运行如SAVEsuite,X窗口的管理程
序是FVWM。
Network Toolbox
用于WINDOWS 95上的TCP/IP的应用程序,
默认扫描端口是!14个TCP/IP端口,
port 9,13,21,25,,37,79,80,110,111,512,513,514,
你可以通过设置属性来改变默认的配置!!
我不知道我上述的下载地址是否还有效!但我想你可一到一些国外著名的黑客站找到你
想要的一切!!
课后作业,请把你扫描的信息告诉我们,我们将在下一课拿出一些信息来加以分析,安
全漏洞出在哪里!并对各种可能发生的漏洞加以分析!!
三、常见的端口扫描方式有几种各有什么特点
网络端口扫描技术详细介绍
网络端口扫描技术详细介绍
一:TCP/IP相关问题
连接端及标记
IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。
一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:
SYN:标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。
FIN:表示发送端已经没有数据要求传输了,希望释放连接。
RST:用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。
URG:为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。
ACK:为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。
PSH:如果置位,接收端应尽快把数据传送给应用层。
TCP连接的建立
TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):
1: C--SYN XXà S
2: C?-SYN YY/ACK XX+1------- S
3: C----ACK YY+1--à S
1:C发送一个TCP包(SYN请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。
2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。
3:C对从S来的SYN进行应答,数据发送开始。
一些实现细节
大部分TCP/IP实现遵循以下原则:
1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。
2:当一个RST数据包到达一个监听端口,RST被丢弃。
3:当一个RST数据包到达一个关闭的端口,RST被丢弃。
4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。
5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。
6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYNACK数据包。
7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。
二:全TCP连接和SYN扫描器
全TCP连接
全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。
这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。
TCP SYN扫描
在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含 SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。
三:秘密扫描与间接扫描
秘密扫描技术
由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。
秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。
Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。
秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。
跟SYN扫描类似,秘密扫描也需要自己构造IP包。
间接扫描
间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:
假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。
四:认证扫描和代理扫描
认证扫描
到目前为止,我们分析的扫描器在设计时都只有一个目的:判断一个主机中哪个端口上有进程在监听。然而,最近的几个新扫描器增加了其它的功能,能够获取监听端口的进程的特征和行为。
认证扫描是一个非常有趣的例子。利用认证协议,这种扫描器能够获取运行在某个端口上进程的用户名(userid)。认证扫描尝试与一个TCP端口建立连接,如果连接成功,扫描器发送认证请求到目的主机的113TCP端口。认证扫描同时也被成为反向认证扫描,因为即使最初的RFC建议了一种帮助服务器认证客户端的协议,然而在实际的实现中也考虑了反向应用(即客户端认证服务器)。
代理扫描
文件传输协议(FTP)支持一个非常有意思的选项:代理ftp连接。这个选项最初的目的(RFC959)是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。许多攻击正是利用了这个缺陷。最近的许多扫描器利用这个弱点实现ftp代理扫描。
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探测
2:BOGUS标记探测
3:TCP ISN取样
4:TCP初始窗口
5:ACK值
6:ICMP错误信息
7:ICMP信息
8:服务类型
9:TCP选项