本文目录一览:
如何通过端口扫描发现目标主机的状态
端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关)。端口扫描是计算机解密高手喜欢的一种方式。攻击者可以通过它了解到从哪里可探寻到攻击弱点。实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。
扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软件进行扫描。
在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进行扫描时,许多扫描器软件都有分析数据的功能。
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
以上定义只针对网络通信端口,端口扫描在某些场合还可以定义为广泛的设备端口扫描,比如某些管理软件可以动态扫描各种计算机外设端口的开放状态,并进行管理和监控,这类系统常见的如USB管理系统、各种外设管理系统等。
2扫描工具编辑
扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过使用扫描器你可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本!这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
3工作原理编辑
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑.
4技术分类编辑
1、开放扫描;
2、半开放扫描;
3、隐蔽扫描。
5其它相关编辑
作用
扫描器并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。
扫描器应该有三项功能:发现一个主机或网络的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现漏洞的能力。
编写扫描器程序必须要很多TCP/IP程序编写和C,Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。开发一个扫描器是一个雄心勃勃的项目,通常能使程序员感到很满意。
端口号
代理服务器常用以下端口:
⑴. HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
⑵. SOCKS代理协议服务器常用端口号:1080
⑶. FTP(文件传输)协议代理服务器常用端口号:21
⑷. Telnet(远程登录)协议代理服务器常用端口:23
HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);
HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;
Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口);
FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);
TFTP(Trivial File Transfer Protocol),默认的端口号为69/udp;
SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;
SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口);
POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;
WebLogic,默认的端口号为7001;
Webshpere应用程序,默认的端口号为9080;
webshpere管理工具,默认的端口号为9090;
JBOSS,默认的端口号为8080;
TOMCAT,默认的端口号为8080;
WIN2003远程登陆,默认的端口号为3389;
Symantec AV/Filter for MSE,默认端口号为 8081;
Oracle 数据库,默认的端口号为1521;
ORACLE EMCTL,默认的端口号为1158;
Oracle XDB(XML 数据库),默认的端口号为8080;
Oracle XDB FTP服务,默认的端口号为2100;
MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp;
MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp;
QQ,默认的端口号为1080/udp[1]
扫描分类
TCP connect() 扫描
这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
TCP SYN扫描
这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。
TCP FIN 扫描
有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
IP段扫描
这种不能算是新方法,只是其它技术的变化。它并不是直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但必须小心。一些程序在处理这些小数据包时会有些麻烦。
TCP 反向 ident扫描
ident 协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此你能,举个例子,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。
FTP 返回攻击
FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接。即入侵者可以从自己的计算机和目标主机的FTP server-PI(协议解释器)连接,建立一个控制通信连接。然后,请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给Internet上任何地方发送文件。对于一个User-DTP,这是个推测,尽管RFC明确地定义请求一个服务器发送文件到另一个服务器是可以的。给许多服务器造成打击,用尽磁盘,企图越过防火墙”。
我们利用这个的目的是从一个代理的FTP服务器来扫描TCP端口。这样,你能在一个防火墙后面连接到一个FTP服务器,然后扫描端口(这些原来有可能被阻塞)。如果FTP服务器允许从一个目录读写数据,你就能发送任意的数据到发现的打开的端口。[2]
对于端口扫描,这个技术是使用PORT命令来表示被动的User DTP正在目标计算机上的某个端口侦听。然后入侵者试图用LIST命令列出当前目录,结果通过Server-DTP发送出去。如果目标主机正在某个端口侦听,传输就会成功(产生一个150或226的回应)。否则,会出现"425 Can't build data connection: Connection refused."。然后,使用另一个PORT命令,尝试目标计算机上的下一个端口。这种方法的优点很明显,难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTP服务器最终能得到一些线索,关闭代理功能。
这种方法能成功的情景:
220 xxxx. FTP server (Version wu-2.4⑶ Wed Dec 14 ...) ready.
220 xxx.xxx. FTP server ready.
220 xx.Telcom. FTP server (Version wu-2.4⑶ Tue Jun 11 ...) ready.
220 lem FTP server (SunOS 4.1) ready.
220 xxx. FTP server (Version wu-2.4⑾ Sat Apr 27 ...) ready.
220 elios FTP server (SunOS 4.1) ready
这种方法不能成功的情景:
220 wcarchive. FTP server (Version DG-2.0.39 Sun May 4 ...) ready.
220 xxx.xx.xx. Version wu-2.4.2-academ[BETA-12]⑴ Fri Feb 7
220 ftp Microsoft FTP Service (Version 3.0).
220 xxx FTP server (Version wu-2.4.2-academ[BETA-11]⑴ Tue Sep 3 ...) ready.
220 xxx.FTP server (Version wu-2.4.2-academ[BETA-13]⑹ ...) ready.
不能扫描
这种方法与上面几种方法的不同之处在于使用的是UDP协议。由于这个协议很简单,所以扫描变得相对比较困难。这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。幸运的是,许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。这样你就能发现哪个端口是关闭的。UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丢失的时候能重新传输。这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。同样,这种扫描方法需要具有root权限。
扫描
当非root用户不能直接读到端口不能到达错误时,Linux能间接地在它们到达时通知用户。比如,对一个关闭的端口的第二个write()调用将失败。在非阻塞的UDP套接字上调用recvfrom()时,如果ICMP出错还没有到达时回返回EAGAIN-重试。如果ICMP到达时,返回ECONNREFUSED-连接被拒绝。这就是用来查看端口是否打开的技术。
这并不是真正意义上的扫描。但有时通过ping,在判断在一个网络上主机是否开机时非常有用。[2]
请教端口问题
一、端口简介
随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为网络通信的标准协议就解决了这个通信难题。TCP/IP协议集成到操作系统的内核中,这就相当于在操作系统中引入了一种新的输入/输出接口技术,因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
有了这些端口后,这些端口又是如何工作呢?例如一台服务器为什么可以同时是Web服务器,也可以是FTP服务器,还可以是邮件服务器等等呢?其中一个很重要的原因是各种服务采用不同的端口分别提供不同的服务,比如:通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等,而邮件服务器是采用25号端口。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信。
据专家们分析,服务器端口数最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是那么多黑客程序都可以采用某种方法,定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算机启动之前自动加载到内存,强行控制计算机打开那个特殊的端口。这个程序就是"后门"程序,这些后门程序就是常说的木马程序。简单的说,这些木马程序在入侵前是先通过某种手段在一台个人计算机中植入一个程序,打开某个(些)特定的端口,俗称"后门"(BackDoor),使这台计算机变成一台开放性极高(用户拥有极高权限)的FTP服务器,然后从后门就可以达到侵入的目的。
二、端口的分类
端口的分类根据其参考对象不同有不同划分方法,如果从端口的性质来分,通常可以分为以下三类:
(1)公认端口(Well Known
Ports):这类端口也常称之为"常用端口"。这类端口的端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。这些端口通常不会像木马这样的黑客程序利用。为了使大家对这些常用端口多一些认识,在本章后面将详细把这些端口所对面应的服务进行列表,供各位理解和参考。
(2) 注册端口(Registered
Ports):端口号从1025到49151。它们松散地绑定于一些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明确的定义服务对象,不同程序可根据实际需要自己定义,如后面要介绍的远程控制软件和木马程序中都会有这些端口的定义的。记住这些常见的程序端口在木马程序的防护和查杀上是非常有必要的。常见木马所使用的端口在后面将有详细的列表。
(3) 动态和/或私有端口(Dynamic and/or Private
Ports):端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。
如果根据所提供的服务方式的不同,端口又可分为"TCP协议端口"和"UDP协议端口"两种。因为计算机之间相互通信一般采用这两种通信协议。前面所介绍的"连接方式"是一种直接与接收方进行的连接,发送信息以后,可以确认信息是否到达,这种方式大多采用TCP协议;另一种是不是直接与接收方进行连接,只管把信息放在网上发出去,而不管信息是否到达,也就是前面所介绍的"无连接方式"。这种方式大多采用UDP协议,IP协议也是一种无连接方式。对应使用以上这两种通信协议的服务所提供的端口,也就分为"TCP协议端口"和"UDP协议端口"。
使用TCP协议的常见端口主要有以下几种:
(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
(2)
Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。
(3)
SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置中常看到有这么SMTP端口设置这个栏,服务器开放的是25号端口。
(4)
POP3:它是和SMTP对应,POP3用于接收邮件。通常情况下,POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的程序(例如Foxmail或Outlook),就可以不以Web方式登陆进邮箱界面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易网站,再进入自己的邮箱来收信)。
使用UDP协议端口常见的有:
(1)
HTTP:这是大家用得最多的协议,它就是常说的"超文本传输协议"。上网浏览网页时,就得在提供网页资源的计算机上打开80号端口以提供服务。常说"WWW服务"、"Web服务器"用的就是这个端口。
(2) DNS:用于域名解析服务,这种服务在Windows
NT系统中用得最多的。因特网上的每一台计算机都有一个网络地址与之对应,这个地址是常说的IP地址,它以纯数字+"."的形式表示。然而这却不便记忆,于是出现了域名,访问计算机的时候只需要知道域名,域名和IP地址之间的变换由DNS服务器来完成。DNS用的是53号端口。
(3) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
(4)
OICQ:OICQ程序既接受服务,又提供服务,这样两个聊天的人才是平等的。OICQ用的是无连接的协议,也是说它用的是UDP协议。OICQ服务器是使用8000号端口,侦听是否有信息到来,客户端使用4000号端口,向外发送信息。如果上述两个端口正在使用(有很多人同时和几个好友聊天),就顺序往上加。
在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的。表1所列的都是服务器默认的端口,不允许改变,一般通信过程都主要用到这些端口。
表1
服务类型默认端口服务类型默认端口
Echo7Daytime13
FTP21Telnet23
SMTP25Time37
Whois43DNS53
Gopher70Finger79
WWW80POP3110
NNTP119IRC194
另外代理服务器常用以下端口:
(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
(2). SOCKS代理协议服务器常用端口号:1080
(3). FTP协议代理服务器常用端口号:21
(4). Telnet协议代理服务器常用端口:23
三、端口在黑客中的应用
像木马之类的黑客程序,就是通过对端口的入侵来实现其目的的。在端口的利用上,黑客程序通常有两种方式,那就是"端口侦听"和"端口扫描"。
"端口侦听"与"端口扫描"是黑客攻击和防护中经常要用到的两种端口技术,在黑客攻击中利用它们可以准确地寻找攻击的目标,获取有用信息,在个人及网络防护方面通过这种端口技术的应用可以及时发现黑客的攻击及一些安全漏洞。下面首先简单介绍一下这两种端口技术的异同。
"端口侦听"是利用某种程序对目标计算机的端口进行监视,查看目标计算机上有哪能些端口是空闲、可以利用的。通过侦听还可以捕获别人有用的信息,这主要是用在黑客软件中,但对于个人来说也是非常有用的,可以用侦听程序来保护自己的计算机,在自己计算机的选定端口进行监视,这样可以发现并拦截一些黑客的攻击。也可以侦听别人计算机的指定端口,看是否空闲,以便入侵。
"端口扫描"(port
scanning)是通过连接到目标系统的TCP协议或UDP协议端口,来确定什么服务正在运行,然后获取相应的用户信息。现在有许多人把"端口侦听"与"端口扫描"混为一谈,根本分不清什么样的情况下要用侦听技术,什么样的情况下要用扫描技术。不过,现在的这类软件也似乎对这两种技术有点模糊了,有的干脆把两个功能都集成在一块。
"端口侦听"与"端口扫描"有相似之处,也有区别的地方,相似的地方是都可以对目标计算机进行监视,区别的地方是"端口侦听"属于一种被动的过程,等待别人的连接的出现,通过对方的连接才能侦听到需要的信息。在个人应用中,如果在设置了当侦听到有异常连接立即向用户报告这个功能时,就可以有效地侦听黑客的连接企图,及时把驻留在本机上的木马程序清除掉。这个侦听程序一般是安装在目标计算机上。用在黑客中的"端口侦听"通常是黑客程序驻留在服务器端等待服务器端在进行正常活动时捕获黑客需要的信息,然后通过UDP协议无连接方式发出去。而"端口扫描"则是一种主动过程,它是主动对目标计算机的选定端口进行扫描,实时地发现所选定端口的所有活动(特别是对一些网上活动)。扫描程序一般是安装在客户端,但是它与服务器端的连接也主要是通过无连接方式的UDP协议连接进行。
在网络中,当信息进行传播的时候,可以利用工具,将网络接口设置在侦听的模式,便可将网络中正在传播的信息截获或者捕获到,从而进行攻击。端口侦听在网络中的任何一个位置模式下都可实施进行,而黑客一般都是利用端口侦听来截取用户口令。
四、端口侦听原理
以太网(Ethernet)协议的工作方式是将要发送的数据包发往连接在一起的所有计算机。在包头中包括有应该接收数据包的计算机的正确地址,因为只有与数据包中目标地址一致的那台计算机才能接收到信息包。但是当计算机工作在侦听模式下,不管数据包中的目标物理地址是什么,计算机都将可以接收到。当同一网络中的两台计算机通信的时候,源计算机将写有目的计算机地址的数据包直接发向目的计算机,或者当网络中的一台计算机同外界的计算机通信时,源计算机将写有目的计算机IP地址的数据包发向网关。但这种数据包并不能在协议栈的高层直接发送出去,要发送的数据包必须从TCP/IP协议的IP协议层交给网络接口--数据链路层。网络接口不会识别IP地址的,在网络接口中,由IP协议层来的带有IP地址的数据包又增加了一部分以太网的帧头信息。在帧头中,有两个域分别为只有网络接口才能识别的源计算机和目的计算机的物理地址,这是一个48位的地址,这个48位的地址是与IP地址相对应的。换句话说,一个IP地址也会对应一个物理地址。对于作为网关的计算机,由于它连接了多个网络,它也就同时具备有很多个IP地址,在每个网络中它都有一个。而发向网络外的帧中继携带的是网关的物理地址。
以太网中填写了物理地址的帧从网络端口中(或者从网关端口中)发送出去,传送到物理的线路上。如果局域网是由一条粗同轴电缆或细同轴电缆连接成的,那么数字信号在电缆上传输信号就能够到达线路上的每一台计算机。再当使用集线器的时候,发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路。这样在物理线路上传输的数字信号也就能到达连接在集线器上的每个计算机了。当数字信号到达一台计算机的网络接口时,正常状态下网络接口对读入数据帧进行检查,如数据帧中携带的物理地址是自己的或者物理地址是广播地址,那么就会将数据帧交给IP协议层软件。对于每个到达网络接口的数据帧都要进行这个过程的。但是当计算机工作在侦听模式下,所有的数据帧都将被交给上层协议软件处理。
当连接在同一条电缆或集线器上的计算机被逻辑地分为几个子网的时候,那么要是有一台计算机处于侦听模式,它可以接收到发向与自己不在同一个子网(使用了不同的掩码、IP地址和网关)的计算机的数据包,在同一个物理信道上传输的所有信息都可以被接收到。
在UNIX系统上,当拥有超级权限的用户要想使自己所控制的计算机进入侦听模式,只需要向Interface(网络接口)发送I/O控制命令,就可以使计算机设置成侦听模式了。而在Windows
9x的系统中则不论用户是否有权限都将可以通过直接运行侦听工具就可以实现。
在端口处于侦听时,常常要保存大量的信息(也包含很多的垃圾信息),并将对收集的信息进行大量的整理,这样就会使正在侦听的计算机对其他用户的请求响应变的很慢。同时侦听程序在运行的时候需要消耗大量的处理器时间,如果在这时就详细的分析包中的内容,许多包就会来不及接收而被漏走。所以侦听程序很多时候就会将侦听得到的包存放在文件中等待以后分析。分析侦听到的数据包是很头疼的事情,因为网络中的数据包都非常之复杂。两台计算机之间连续发送和接收数据包,在侦听到的结果中必然会加一些别的计算机交互的数据包。侦听程序将同一TCP协议会话的包整理到一起就相当不容易,如果还期望将用户详细信息整理出来就需要根据协议对包进行大量的分析。
现在网络中所使用的协议都是较早前设计的,许多协议的实现都是基于一种非常友好的,通信的双方充分信任的基础。在通常的网络环境之下,用户的信息包括口令都是以明文的方式在网上传输的,因此进行端口侦听从而获得用户信息并不是一件难点事情,只要掌握有初步的TCP/IP协议知识就可以轻松的侦听到想要的信息的。
五、端口扫描原理
"端口扫描"通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标计算机的端口是否打开、是否可用。"端口扫描"行为的一个重要特征是:在短时期内有很多来自相同的信源地址传向不同的目的地端口的包。
对于用端口扫描进行攻击的人来说,攻击者总是可以做到在获得扫描结果的同时,使自己很难被发现或者说很难被逆向跟踪。为了隐藏攻击,攻击者可以慢慢地进行扫描。除非目标系统通常闲着(这样对一个没有listen端口的数据包都会引起管理员的注意),有很大时间间隔的端口扫描是很难被识别的。隐藏源地址的方法是发送大量的欺骗性的端口扫描包(1000个),其中只有一个是从真正的源地址来的。这样,即使全部包(1000)都被察觉,被记录下来,也没有人知道哪个是真正的信源地址。能发现的仅仅是"曾经被扫描过"。也正因为这样那些黑客们才乐此不彼地继续大量使用这种端口扫描技术来达到他们获取目标计算机信息、并进行恶意攻击。
通常进行端口扫描的工具目前主要采用的是端口扫描软件,也通称之为"端口扫描器",端口扫描可以为提供三个用途:
(1)识别目标系统上正在运行的TCP协议和UDP协议服务。
(2)识别目标系统的操作系统类型(Windows 9x, Windows NT,或UNIX,等)。
(3)识别某个应用程序或某个特定服务的版本号。
端口扫描器是一种自动检测远程或本地计算机安全性弱点的程序,通过使用扫描器你可不留痕迹的发现远程服务器的各种TCP协议端口的分配及提供的服务,还可以得知它们所使用的软件版本!这就能让间接的了解到远程计算机所存在的安全问题。
端口扫描器通过选用远程TCP/IP协议不同的端口的服务,记录目标计算机端口给予的回答的方法,可以搜集到很多关于目标计算机的各种有用信息(比如:是否有端口在侦听?是否允许匿名登陆?是否有可写的FTP目录,是否能用TELNET等。
端口扫描器并不是一个直接攻击网络漏洞的程序,它仅仅能帮助发现目标机的某些内在的弱点。一个好的扫描器还能对它得到的数据进行分析,帮助查找目标计算机的漏洞。但它不会提供一个系统的详细步骤。
端口扫描器在扫描过程中主要具有以下三个方面的能力:
(1) 发现一个计算机或网络的能力;
(2) 一旦发现一台计算机,就有发现目标计算机正在运行什么服务的能力;
(3) 通过测试目标计算机上的这些服务,发现存在的漏洞的能力。
编写扫描器程序必须要很多TCP/IP协议程序编写和C,Perl和或SHELL语言的知识。需要一些Socket编程的背景,一种在开发客户/服务应用程序的方法。
六、常用端口
在计算机的6万多个端口,通常把端口号为1024以内的称之为常用端口,这些常用端口所对应的服务通常情况下是固定的,所以了解这些常用端口在一定程序上是非常必要的,下表2列出了计算机的常用端口所对应的服务(注:在这列表中各项"="前面的数字为端口号,"="后面的为相应端口服务。)。
1=tcpmux(TCP协议 Port Service Multiplexer)401=ups(Uninterruptible Power
Supply)
2=compressnet=Management Utility402=genie(Genie Protocol)
3=compressnet=Compression Process403=decap
5=rje(Remote Job Entry)404=nced
7=echo=Echo405=ncld
9=discard406=imsp(Interactive Mail Support Protocol)
11=systat,Active Users407=timbuktu
13=daytime408=prm-sm(Prospero Resource Manager Sys. Man.)
17=qotd(Quote of the Day)409=prm-nm(Prospero Resource Manager Node Man.)
18=msp(Message Send Protocol)410=decladebug(DECLadebug Remote Debug
Protocol)
19=Character Generator411=rmt(Remote MT Protocol)
20=FTP-data(File Transfer [Default Data])412=synoptics-trap(Trap
Convention Port)
21=FTP(File Transfer [Control])413=smsp
22=ssh414=infoseek
23=telnet415=bnet
24private mail system416=silverplatter
25=smtp(Simple Mail Transfer)417=onmux
27=nsw-fe(NSW User System FE)418=hyper-g
29=msg-icp419=ariel1
31=msg-auth420=smpte
33=Display Support Protocol421=ariel2
35=private printer server422=ariel3
37=time423=opc-job-start(IBM Operations Planning and Control Start)
38=rap(Route Access Protocol)424=opc-job-track(IBM Operations Planning and
Control Track)
39=rlp(Resource Location Protocol)425=icad-el(ICAD)
41=graphics426=smartsdp
42=nameserver(WINS Host Name Server)427=svrloc(Server Location)
43=nicname(Who Is)428=ocs_cmu
44=mpm-flags(MPM FLAGS Protocol)429=ocs_amu
45=mpm(Message Processing Module [recv])430=utmpsd
46=mpm-snd(MPM [default send])431=utmpcd
47=ni-ftp432=iasd
48=Digital Audit Daemon433=nnsp
49=tacacs(Login Host Protocol (TACACS))434=mobileip-agent
50=re-mail-ck(Remote Mail Checking Protocol)435=mobilip-mn
51=la-maint(IMP Logical Address Maintenance)436=dna-cml
52=xns-time(XNS Time Protocol)437=comscm
53=Domain Name Server438=dsfgw
54=xns-ch(XNS Clearinghouse)439=dasp(dasp Thomas Obermair)
55=isi-gl(ISI Graphics Language)440=sgcp
56=xns-auth(XNS Authentication)441=decvms-sysmgt
57= private terminal access442=cvc_hostd
58=xns-mail(XNS Mail)443=https(https Mcom)
59=private file service444=snpp(Simple Network Paging Protocol)
61=ni-mail(NI MAIL)445=microsoft-ds
62=acas(ACA Services)446=ddm-rdb
63=whois+whois+447=ddm-dfm
64=covia(Communications Integrator (CI))448=ddm-byte
65=tacacs-ds(TACACS-Database Service)449=as-servermap
66=sql*net(Oracle SQL*NET)450=tserver
67=bootps(Bootstrap Protocol Server)451=sfs-smp-net(Cray Network Semaphore
server)
68=bootpc(Bootstrap Protocol Client)452=sfs-config(Cray SFS config server)
69=tftp(Trivial File Transfer)453=creativeserver
70=gopher454=contentserver
71=netrjs-1,Remote Job Service455=creativepartnr
72=netrjs-2,Remote Job Service456=macon-tcp
73=netrjs-3,Remote Job Service457=scohelp
74=netrjs-4,Remote Job Service458=appleqtc(apple quick time)
75=private dial out service459=ampr-rcmd
76=deos(Distributed External Object Store)460=skronk
77=private RJE service461=datasurfsrv
78=vettcp462=datasurfsrvsec
79=finger463=alpes
80=http(World Wide Web HTTP)464=kpasswd
81=hosts2-ns(HOSTS2 Name Server)465=ssmtp
82=xfer(XFER Utility)466=digital-vrc
83=mit-ml-dev(MIT ML Device)467=mylex-mapd
84=ctf(Common Trace Facility)468=photuris
85=mit-ml-dev(MIT ML Device)469=rcp(Radio Control Protocol)
86=mfcobol(Micro Focus Cobol)470=scx-proxy
nbs
参考资料:;topic=78
如何在 OS X 的网络工具中使用端口扫描器
扫描器使用方法大家好很高兴你能进如我们的第四课!由先在起所有的课将由我来主讲,由于课程涉及 的是网络最高安全问题,所以我不得不警告各位,你要清楚的认识到你在干什么,其实 第四课的内容我们换了又换,有很多是一些攻击性很强的,我不得不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, 你可以通过设置属性来改变默认的配置!! 我不知道我上述的下载地址是否还有效!但我想你可一到一些国外著名的黑客站找到你 想要的一切!! 课后作业,请把你扫描的信息告诉我们,我们将在下一课拿出一些信息来加以分析,安 全漏洞出在哪里!并对各种可能发生的漏洞加以分析!!