优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

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]

[资料来源: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://www.think58.com]

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

[资料来源:www.THINK58.com]


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]