308_端口扫描器(C#)
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
端口扫描
2.1 端口的基本概念
2.1.1 端口的简介
“随着计算机网络技术的发展,原来物理上的接口(如键盘、鼠标、网卡、显示卡等输入/输出接口)已不能满足网络通信的要求,TCP/IP协议作为主流网络操作系统的核心协议很好的解决了这个通信难题。因为在TCP/IP协议中引入了一种称之为"Socket(套接字)"应用程序接口。有了这样一种接口技术,一台计算机就可以通过软件的方式与任何一台具有Socket接口的计算机进行通信。端口在计算机编程上也就是"Socket接口"。
正是有了这些端口,我们才可以把一台计算机既作Web服务器又作FTP服务器,因为各种服务采用不同的端口分别提供不同的服务,通常TCP/IP协议规定Web采用80号端口,FTP采用21号端口等。这样,通过不同端口,计算机就可以与外界进行互不干扰的通信。计算机的端口在计算机内部是由16位二进制书来表示的,因此计算机的端口最大可以有65535个,但是实际上常用的端口才几十个,由此可以看出未定义的端口相当多。这是很多黑客程序都可以采用某种方法,定义出一个特殊的端口来达到入侵的目的的原因所在。为了定义出这个端口,就要依靠某种程序在计算机启动之前自动加载到内存,强行控制计算机打开特殊的端口。这个程序就是"后门"程序,这些后门程序就是常说的木马程序。
【买计算机毕业论文就到计算机毕业论文网】 本文来自think58 [版权所有:http://think58.com]
本文来自think58 [来源:http://think58.com]
2.1.2 端口的分类
端口的分类根据其参考对象不同有不同划分方法,如果从端口的性质来分,通常可以分为以下三类:
(1)公认端口:这类端口也常称之为"常用端口"。这类端口的端口号从0到1024,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。例如:80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。这些端口通常不会被黑客程序利用。
(2)注册端口:端口号从1025到49151。它们松散地绑定于一些服务。也是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。这些端口多数没有明确的定义服务对象,不同程序可根据实际需要自己定义。
(3)动态和/或私有端口:端口号从49152到65535。理论上,不应把常用服务分配在这些端口上。实际上,有些较为特殊的程序,特别是一些木马程序就非常喜欢用这些端口,因为这些端口常常不被引起注意,容易隐蔽。
如果根据所提供的服务方式的不同,端口又可分为面向连接的"TCP协议端口"和面向无连结的"UDP协议端口"两种,参见表1和表2。
表1 常见TCP公认端口号
服务名称 端口号 说明
FTP 21 文件传输服务
TELNET 23 远程登录服务 think58
HTTP 80 网页浏览服务
POP3 110 邮件服务
SMTP 25 简单邮件传输服务
SOCKS 1080 代理服务
表2 常见UCP公认端口号
RPC 111 远程调用
SNMP 161 简单网络管理
TFTP 69 简单文件传送
2.2 端口扫描技术
端口扫描在网络扫描中大约占了96%,UDP (User Datagram Protoc服务次之,占3.7%。除了这两种之外,剩余的0.3%是用户名和密码扫描、NetBIOS域登录信息和SNMP管理数据等。某组织I-Trap曾经收集了来自24个防火墙12小时工作的数据,这些防火墙分别位于美国俄亥俄州24个企业内网和本地ISP所提供的Internet主干网之间。其间,黑客攻击端口的事件有12000次之。
“端口扫描”通常指用同一信息对目标计算机的所有所需扫描的端口进行发送,然后根据返回端口状态来分析目标计算机的端口是否打开、是否可用。 [资料来源:http://www.THINK58.com]
2.2.1 开放扫描技术
1. TCP connects扫描:
这是最基本的TCP扫描。操作系统提供的connects系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connects就能成功。否则,这个端口是不能用的,即没有提供服务。
优点:稳定可靠,不需要特殊的权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connects调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许设置一个低的时间用尽周期,同时观察多个套接字。
缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录,并容易被防火墙发现和屏蔽。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。
2.TCP反向ident扫描:
ident协议允许(rfc1413)看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。因此能连接到http端口,然后用identd来发现服务器是否正在以root权限运行。
缺点:这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。 内容来自think58 [资料来源:THINK58.com]
2.2.2 半开放扫描技术
1.TCP SYN扫描:
扫描主机向目标主机的选择端口发送设置了SYN数据标志的TCP包,就象打开常规TCP连接时一样。如果被扫描主机发送设置了RST和ACK标志的包,那么说明端口是关闭的,按照设定就探听其它端口;如果该端口是打开的,则被扫描主机返回设置了SYN和ACK标志的包进行响应,说明目标端口处于监听状态。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。
优点:隐蔽性较全连接扫描好,即使日志中对扫描有所记录,但是尝试进连接的记录也要比全扫描少得多。
2.TCP间接扫描:
间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的EP行为,从而获得原始扫描的结果。扫描主机通过伪造第三方主机lP地址向目标主机发起SYN扫描,并通过观察其IP序列号的增长规律获取端口的状态间接扫描的工作过程如下:假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。
优点:隐蔽性好。
缺点:对第三方主机的要求较高。
copyright think58
2.3隐蔽扫描技术
1. TCP FIN扫描:
扫描器向目标主机端口发送FIN包。当一个FIN数据包到达一个关闭的口,数据包会被丢掉,并且返回一个RST数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回RST)。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。
优点:由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得多,FIN数据包能够通过只监测SYN包的包过滤器。
缺点:跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用;通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送RST包的操作系统(包括CISCO, HP/UX, MVS和IRIX )。但在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回RST包。
2.TCP Xmas和TCP Null扫描:
TCP Xmas和Null扫描是FIN扫描的两个变种。Xmas扫描打开FIN, URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过对FIN标记数据包的过滤。当一个这种数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个RST数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回RST)。 本文来自think58 [资料来源:THINK58.com]
优点:隐蔽性好。
缺点:需要自己构造数据包,要求由超级用户或者授权用户权限;通常适用于UNIX目标主机,而Windows系统不支持。
3. TCP助proxy扫描:
FTP代理连接选项,其目的是允许一个客户端同时跟两个FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地方。该方法正是利用了这个缺陷,其扫描步骤如下:
(1)假定S是扫描机,T是扫描目标,F是一个助服务器,这个服务器支持代理选项,能够跟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 server禁止这种特性。
4. IP段扫描:
它并不直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而包过滤器就很难探测到。 [来源:http://think58.com]
优点:隐蔽性好,可穿越防火墙。
缺点:可能被丢弃;某些程序在处理这些小数据包时会出现异常。
think58
[来源:http://think58.com]
[来源:http://think58.com]