1、 课程设计报告 课程名称:课程名称:操作系统操作系统 题目:题目:基于基于 TCPTCP 端口扫描程序端口扫描程序 院院 系:系: 班班 级:级: 姓姓 名:名: 学学 号:号: 指导老师:指导老师: 1 目 录 1 需求分析 1 1.1 课题背景 . 1 1.2 本课题研究意义 . 1 1.3 安全扫描技术的产生及其发展趋势 . 1 1.4 安全扫描技术的分类 . 2 2 端口扫描的相关知识 3 2.1 网络端口扫描原理 . 3 2.2 端口 . 4 2.3 相关协议 . 4 2.4 扫描的定义 . 6 2.5 多线程技术 . 6 2.6 网络套接字编程 . 7 3 概要设计 8 3.1 整
2、体设计框架 . 8 3.2 流程图描述 . 9 4 详细设计 . 11 4.1 开法环境 11 4.2 界面设计 11 4.3 主要类说明 12 4.4 代码描述 12 4.4.1 基本信息检测模块 12 4.4.2 参数设计模块 12 4.4.3 端口扫描模块 15 4.4.4 结果输出模块 16 5 调试分析 . 18 5.1 编译及运行程序 18 5.2 系统主界面 18 5.3 子系统功能测试 18 6 总结 . 21 参 考 文 献 22 1 1 需求分析 1.1 课题背景 在 21 世纪的今天,计算机发展日新月异,伴随着网络技术的飞速更新,网络规模迅 速增长和计算机系统的日益复杂,
3、导致新的系统漏洞层出不穷,一些别有用心的人或者 木马程序要想顺利的渗透一台联网的计算机,无论使用何种技术,首先必然要寻找计算 机的漏洞来为自己的入侵打开大门。端口扫描器是一把双刃剑,端口扫描器的产生可以 使网络中的计算机及时的发现主机的开放与未开放的端口状态。计算机的端口扫描技术 是一种基于主动防御型的策略的重要技术手段。本课题通过对计算机端口扫描器的研究 来提高对网络中计算机的安全的认识。 本端口扫描器采用 Java 语言和 Java Socket 编程 原理开发,在 Ubuntu 操作系统下通过测试。扫描主机通过 TCP/IP 协议的三次握手与目 标主机的指定端口建立一次完整的连接,如果目
4、标主机的此端口在规定时间内有回复, 则说明该端口是开放的。利用多线程技术实现了对一目标 IP 进行设定数目的端口扫描。 这种扫描器可以在输入 IP 的情况下,对指定的端口范围进行扫描。 1.2 本课题研究意义 现代社会是信息化网络化的社会,信息是社会发展的重要资源。信息安全的保障能 力是一个国家的综合国力经济竞争实力和生存能力的重要组成部分,是世界各国在奋力 攀登的制高点。网络安全是指网络系统的硬件软件及其系统中的数据受到保护,不会因 为偶然的或者恶意的原因而遭到破坏、更改、泄漏,系统连续可靠的正常的运行。网络 安全包括技术领域和非技术领域两大部分:非技术领域包括一些制度政策管理安全意识 是填
5、权等方面的内容;技术领域包括:隐患扫描、防火墙、入侵检测、访问控制、虚拟 专用网、CA 认证、操作系统等方面的内容。这些技术的目标是保证信息的可控性、可用 性、保密性、完整性和不可抵赖性。 1.3 安全扫描技术的产生及其发展趋势 随着 Internet 的不断发展,信息安全技术已经成为促进经济发展、社会进步的巨大 推动了。端口扫描技术是网络安全扫描技术的一个重要的网络安全技术,与防火墙、入 2 侵检测系统相互配合,能够有效地提高网络安全性。安全扫描是安全技术领域中的重要 的一类。 通过扫描能自动检测远程或者本地的主机系统的信息, 包括主机的基本信息 (如 计算机名、域名、组名、操作系统类型号等
6、) 、服务信息、用户信息以及漏洞信息,它的 重要性在于能够对网络进行安全评估,及时发现安全隐患,防患于未然。任何技术的诞 生都有深刻的思想基础,人们在对“安全”认识逐步深化的过程中,不断地提出新的安 全理论并付诸实践。在这个认识的过程中有两次重大的飞跃:第一次飞跃式早在二十世 纪八十年代,人们认为信息安全就是信息的保密性,相应的采取保障措施就是利用加密 机制和基于计算机规则的访问控制。这个时期防火墙和入侵检测系统(IDS)进一步发展 起来,并在保护内部网络中起到了积极作用。Dan Fame 和 WeitseVenema 提出了划时代的 隐患扫描思想,既然黑客可以查找系统的漏洞,并且针对这些漏洞对系统进行攻击,那 么隐患扫描程序就可以采取与黑客相同的方法找到系统漏洞,并且将他们加以修复,起 到主动防御的作用。第二次飞跃就是在被动防护的基础上,提出了主动防御的思想。这 就促进了安全扫描的技术的诞生。安全扫描的主动防御思想渗透到了许多其他的安全领 域。安全扫描软件从最初的专门为 UNIX 系统编