计算机网络课设论文简单的端口扫描器 精品毕业论文Word下载.docx
- 文档编号:15367662
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:21
- 大小:232.25KB
计算机网络课设论文简单的端口扫描器 精品毕业论文Word下载.docx
《计算机网络课设论文简单的端口扫描器 精品毕业论文Word下载.docx》由会员分享,可在线阅读,更多相关《计算机网络课设论文简单的端口扫描器 精品毕业论文Word下载.docx(21页珍藏版)》请在冰豆网上搜索。
2015年03月26日
摘要
计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。
端口扫描技术是发现安全问题的重要手段之一。
本程序是在Windows系统中使用JAVA语言完成的一个端口扫描程序。
此程序主要完成了TCPconnect()扫描功能。
TCP扫描支持多线程,能对单个指定的主机进行扫描或对指定网段内的主机进行逐个扫描。
能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描。
此端口扫描程序能快速地进行TCP扫描,准确地检测出对TCP协议开放的端口。
关键词:
端口扫描TCP扫描TCP多线程扫描
目录
摘要2
目录3
1.前言1
2.需求分析1
2.1.课题背景1
2.2.本课题研究意义2
2.3.安全扫描技术的产生及其发展趋势2
3.端口扫描的相关知识3
3.1.网络端口扫描原理3
3.2.端口3
3.3.相关协议4
3.3.1.TCP数据包结构4
3.3.2.TCP/IP遵循的原则5
3.3.3.TCP三次握手过程5
3.4.扫描的定义6
3.5.多线程技术6
4.概要设计6
4.1.整体设计框架6
4.2.流程图描述8
5.详细设计8
5.1.开发环境8
5.2.界面设计9
5.3.主要类说明9
5.4.部分关键代码描述10
5.4.1.基本信息检测模块10
5.4.2.参数设计模块11
5.4.3.端口扫描模块17
6.系统测试18
6.1.系统主界面18
6.2.子系统功能测试19
7.总结22
参考文献23
1.前言
网络中的每一台计算机如同一座城堡,在这些城堡中,有的对外完全开放,有的却是紧锁城门。
入侵者们是如何找到,并打开它们的城门的呢?
这些城门究竟通向城堡的何处呢?
在网络技术中,把这些城堡的“城门”称之为计算机的“端口”。
端口扫描是入侵者搜集信息的几种常用手法之一,也正是这一过程最容易使入侵者暴露自己的身份和意图。
一般来说,扫描端口有如下目的:
判断目标主机上开放了哪些服务;
判断目标主机的操作系统;
如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能够使用相应的手段实现入侵,本课程设计将会通过用JAVA语言实现一个小的端口扫描软件,详细描述端口扫描的原理,分析端口扫描所涉及的问题,以便更加清楚地了解入侵者如何扫描目标主机的端口,同时掌握如何确保本机的安全性,为将来设计更为安全的系统打下牢固基础。
2.需求分析
2.1.课题背景
在21世纪的今天,计算机发展日新月异,伴随着网络技术的飞速更新,网络规模迅速增长和计算机系统的日益复杂,导致新的系统漏洞层出不穷,一些别有用心的人或者木马程序要想顺利的渗透一台联网的计算机,无论使用何种技术,首先必然要寻找计算机的漏洞来为自己的入侵打开大门。
端口扫描器是一把双刃剑,端口扫描器的产生可以使网络中的计算机及时的发现主机的开放与未开放的端口状态。
计算机的端口扫描技术是一种基于主动防御型的策略的重要技术手段。
本课题通过对计算机端口扫描器的研究来提高对网络中计算机的安全的认识。
本端口扫描器采用Java语言和JavaSocket编程原理开发。
扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接,如果目标主机的此端口在规定时间内有回复,则说明该端口是开放的。
利用多线程技术实现了对一目标IP进行设定数目的端口扫描。
这种扫描器可以在输入IP的情况下,对指定的端口范围进行扫描。
2.2.本课题研究意义
现代社会是信息化网络化的社会,信息是社会发展的重要资源。
信息安全的保障能力是一个国家的综合国力经济竞争实力和生存能力的重要组成部分,是世界各国在奋力攀登的制高点。
网络安全是指网络系统的硬件软件及其系统中的数据受到保护,不会因为偶然的或者恶意的原因而遭到破坏、更改、泄漏,系统连续可靠的正常的运行。
网络安全包括技术领域和非技术领域两大部分:
非技术领域包括一些制度政策管理安全意识是填权等方面的内容;
技术领域包括:
隐患扫描、防火墙、入侵检测、访问控制、虚拟专用网、CA认证、操作系统等方面的内容。
这些技术的目标是保证信息的可控性、可用性、保密性、完整性和不可抵赖性。
2.3.安全扫描技术的产生及其发展趋势
随着Internet的不断发展,信息安全技术已经成为促进经济发展、社会进步的巨大推动了。
端口扫描技术是网络安全扫描技术的一个重要的网络安全技术,与防火墙、入侵检测系统相互配合,能够有效地提高网络安全性。
安全扫描是安全技术领域中的重要的一类。
通过扫描能自动检测远程或者本地的主机系统的信息,包括主机的基本信息(如计算机名、域名、组名、操作系统类型号等)、服务信息、用户信息以及漏洞信息,它的重要性在于能够对网络进行安全评估,及时发现安全隐患,防患于未然。
任何技术的诞生都有深刻的思想基础,人们在对“安全”认识逐步深化的过程中,不断地提出新的安全理论并付诸实践。
在这个认识的过程中有两次重大的飞跃:
第一次飞跃式早在二十世纪八十年代,人们认为信息安全就是信息的保密性,相应的采取保障措施就是利用加密机制和基于计算机规则的访问控制。
这个时期防火墙和入侵检测系统(IDS)进一步发展起来,并在保护内部网络中起到了积极作用。
DanFame和WeitseVenema提出了划时代的隐患扫描思想,既然黑客可以查找系统的漏洞,并且针对这些漏洞对系统进行攻击,那么隐患扫描程序就可以采取与黑客相同的方法找到系统漏洞,并且将他们加以修复,起到主动防御的作用。
第二次飞跃就是在被动防护的基础上,提出了主动防御的思想。
这就促进了安全扫描的技术的诞生。
安全扫描的主动防御思想渗透到了许多其他的安全领域。
安全扫描软件从最初的专门为UNIX系统编写的一些只具有简单的功能的小程序,发展到现在,已经成为可以用在多个系统的具有复杂的功能的商业程序。
今后的发展趋势,我认为有以下几点:
使用插件或者叫做功能模块技术。
每个插件都封装一个或多个漏洞测试手段,主扫描程序通过代用插件的方法来执行扫描。
仅仅是添加新的插件就可以使软件增加新功能,扫描更多漏洞。
在插件编写的规范公布的情况下,用户或者第三方公司甚至可以编写自己的插件来扩充软件的功能。
同时这种技术使软件的升级维护都变得相对轻松,并且具有非常强的扩展性。
由安全扫描程序到安全评估专家系统。
最早的安全扫描程序只是简单的把各个扫描测试项目执行结果罗列出来,直接提供给测试者而不对信息进行任何分析处理。
而当前较为成熟的扫描系统都能够将单个主机的扫描结果进行整理,形成报表能够并对具体漏洞提出一些解决方法,但对网络的状况缺乏一个整体的评估,对网络安全没有系统的解决方案。
未来的安全扫描系统,应该不但能够扫描安全漏洞,还能够智能化的协助网络信息管理人员评估本网络的安全状况,给出安全建议,成为安全评估专家的系统。
3.端口扫描的相关知识
3.1.网络端口扫描原理
每个端口就是一个潜在的通信信道,也就是一个入侵通道。
对目标计算机进行端口扫描,能得到许多有用的信息。
进行扫描的方法很多,可以使手工进行扫描,也可以是端口扫描软件进行。
在手工进行扫描时,需要熟悉各种命令。
命令执行后的输出进行分析。
用扫描软件进行扫描时,许多扫描软件都有分析数据功能。
通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
扫描器是一种自动检测远程或本地主机安全性软弱点的程序,通过使用扫描器你可以留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和他们的软件版本,这就能让我们间接的或直观的了解到远程主机所存在的安全问题。
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息(比如:
是否能用匿名登陆、是否有可写的FTP目录、是否能用TELNET,HTTPD是用ROOT还是nobady在跑!
)。
扫描并不是一个直接的攻击网络漏洞的程序,它仅仅能帮助我们发现目标机的某些内在的弱点。
一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。
但它不会提供进入一个系统的详细步骤。
3.2.端口
协议端口是一种抽象,其行为类似于TCP/IP连接的逻辑端点。
在TCP协议中,仅仅用连接双方的IP地址来标识一条连接显然是不够的。
在多任务操作系统中,系统允许多个进程同时使用TCP协议进行通信,因此必须能够区分这些不同的进程所对应的不同连接。
端口可以区分这些不同的通信进程。
每个端口由一个正整数识别,称为端口号。
信息传送中每个信息都载有一个用来接收目的端口号和回复应该发往的源端口号。
“公开端口”是由InternetAssignedNumbersAuthority(IANA)分配的,并且只能被系统(或root)进程或者被授予权利的用户执行的程序使用。
根据提供服务类型的不同,端口分为两种,一种是TCP端口,一种是UDP端口。
计算机之间相互通信的时候,分为两种方式:
一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这种方式大多采用TCP协议;
一种是发送以后不去确认信息是否到达,这种方式大多采用UDP协议。
对应这两种协议的服务提供的端口,也就分为TCP端口和UDP端口。
当可能时,对应的TCP和UDP服务被分配给相同的编号。
1)公开端口:
0--1023
2)注册端口:
1024--49151
3)动态或私有端口:
49152—65535
3.3.相关协议
TCP/IP协议栈是网络扫描技术的基础,最基本的扫描方式TCPConnect()就是利用了TCP协议;
而当前流行的端口扫描技术如SYN扫描(半打开扫描)、FIN扫描和NULL扫描等等,都是利用了TCP的三次握手来完成的。
3.3.1.TCP数据包结构
一个TCP数据包包括一个TCP头,后面是选项和数据。
它的格式如图1。
3.3.2.TCP/IP遵循的原则
1)当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包,同时发送一个RST数据包。
2)当一个RST数据包到达一个监听端口,RST被丢弃。
3.当一个RST数据包到达一个关闭的端口,RST被丢弃。
3)当一个不包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。
4)当一个SYN关闭的数据包到达一个监听端口时,数据包被丢弃。
5)当一个SYN数据包到达一个监听端口时,正常的三次握手继续,回答一个SYN|ACK数据包。
6)当一个FIN数据包到达一个监听端口时,数据包被丢弃。
“FIN行为”(关闭的端口返回RST,监听端口丢弃包),所有的URG、PSH和FIN,或者没有任何标记的TCP数据包都会引起“FIN行为”。
3.3.3.TCP三次握手过程
3.4.扫描的定义
扫描程序(Scanner)是自动检测远端主机或者本地主机安全脆弱性的程序。
通过使用扫描程序一个用户可以发现远程服务器的安全弱点。
目前,绝大多数操作系统都支持TCP/IP协议簇,扫描程序查询TCP/IP端口并记录目标机器的响应。
扫描程序通过确定下列项目收集目标主机的有用信息:
当前主机正在进行什么服务?
哪些用户拥有这些服务?
是否支持匿名登录?
是否有某些网络服务需要鉴别?
3.5.多线程技术
每个正在系统上运行的程序都是一个进程。
每个进程包含一到多个线程。
进程也可能是整个程序或者是部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络课设论文简单的端口扫描器 精品毕业论文 计算机网络 论文 简单 端口 扫描器 精品 毕业论文