网络端口扫描共工具的设计与实现

网络端口扫描共工具的设计与实现

ID:15745621

大小:160.00 KB

页数:12页

时间:2018-08-05

网络端口扫描共工具的设计与实现_第1页
网络端口扫描共工具的设计与实现_第2页
网络端口扫描共工具的设计与实现_第3页
网络端口扫描共工具的设计与实现_第4页
网络端口扫描共工具的设计与实现_第5页
资源描述:

《网络端口扫描共工具的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、网络端口扫描工具的设计与实现网络端口扫描工具的设计与实现学生姓名:指导老师:摘要本课程设计是在Windows系统中,通过软件visualstudio2010使用C#语言完成的一个端口扫描程序。此程序主要利用TCP连接的三次握手特性,完成对指定主机端口的扫描。扫描能对指定IP的主机的常用端口进行扫描。扫描结果以列表的形式直观地展现出来。通过对扫描结果的分析知道了,有哪些常用端口是开放的。关键词C#;端口扫描;TCP三次握手;网络安全第12页共12页网络端口扫描工具的设计与实现1引言1.1本文主要内容本文第二节主要说明本设计的背景及目的;第三节介绍了TCP端

2、口扫描基本原理;第四节详细描述了网络端口扫描工具的设计步骤、部分源代码以;第五节为相关测试结果;第六节为结束语以及末尾的相关参考文献。1.2设计平台及设计语言本系统是在win7操作系统上,通过visualstudio2010软件使用C#语言设计编写完成的。1.3设计背景及目的网络中每台计算机犹如一座城堡,这些城堡中,有些是对外完全开放的,有些却是大门紧闭的。在网络中,把这些城堡的“城门”称之为计算机的“端口”。端口扫描是入侵者搜索信息的几种常用方法之一,也正是这一种方法最容易暴露入侵者的身份和意图。一般说来,扫描端口有以下目的: 判断目标主机上开放了哪些

3、服务 判断目标主机的操作系统 如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能使用相应的手段实现入侵。而如果管理员先掌握了这些端口服务的安全漏洞,就能采取有效的安全措施,防范相应的入侵。 第12页共12页网络端口扫描工具的设计与实现2设计原理2.1端口的基本概念端口是由计算机的通信协议TCP/IP协议定义的。其中规定,用IP地址和端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用IP端口来定位一台主机中的进程。如果要和远程主机A的程序通信,那么只要把数据发向A端口就可以实现通信了。端口与进程是一一对应的

4、,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,通过扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。端口是一个16bit的地址,用端口号进行标识不同作用的端口。端口一般分为两类。熟知端口号:范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP服务,80端口分配给HTTP服务,135端口分配给RPC服务等等动态端口号:动态端口的范围从1024到65535,只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。在关闭

5、程序进程后,就会释放所占用的端口号。2.2端口扫描技术2.2.1TCPconnect() 扫描第12页共12页网络端口扫描工具的设计与实现  这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限,系统中的任何用户都有权利使用这个调用。另一个好处就是速度,如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时

6、打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。2.2.2TCPSYN扫描  这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN

7、ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如

8、果收到一个SYN

9、ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。2.2.3TCPFIN 扫描  有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是

10、否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。