简单的端口扫描器实现毕业设计论文

上传人:新** 文档编号:509699447 上传时间:2023-12-30 格式:DOCX 页数:32 大小:299.41KB
返回 下载 相关 举报
简单的端口扫描器实现毕业设计论文_第1页
第1页 / 共32页
简单的端口扫描器实现毕业设计论文_第2页
第2页 / 共32页
简单的端口扫描器实现毕业设计论文_第3页
第3页 / 共32页
简单的端口扫描器实现毕业设计论文_第4页
第4页 / 共32页
简单的端口扫描器实现毕业设计论文_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《简单的端口扫描器实现毕业设计论文》由会员分享,可在线阅读,更多相关《简单的端口扫描器实现毕业设计论文(32页珍藏版)》请在金锄头文库上搜索。

1、安阳师范学院本科学生毕业论文简单的端口扫描器实现作 者系(院)人文管理学院专 业计算机科学与技术 年 级2013级学 号指导教师论文成绩日 期 2015 年 5 月诚信承诺书郑重承诺:所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成 果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究 成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。与作 者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。作者签名: 日期:导师签名: 日期:院长签名: 日期:论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论

2、文的规定,即:学校有权保留送交 论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用 影印、缩印或其他复制手段保存论文。保密论文在解密后遵守此规定。作者签名:导师签名:日期:目录1 引言 22 端口扫描概述 23 端口扫描相关知识 23.1 端口的基本概念 23.2 常见端口介绍 33.3 端口扫描器功能简介 33.4 常用端口扫描技术 33.4.1 TCP connect()扫描33.4.2 TCP SYN 扫描43.4.3 TCP FIN 扫描43.4.4 IP 段扫描 43.4.5 TCP 反向 ident 扫描43.4.6 FTP 返回攻击44 实验流程和运行

3、流程 44.1 实现流程 44.2 程序中主要的函数 74.3 主流程图 85 总结105.1 提出问题 105.2 解决问题 105.3 心得体会 106 致谢11参考文献11安阳师范学院简单的端口扫描器实现李涛(安阳师范学院 人文管理学院 河南 安阳 455002)摘 要: 本设计通过端口扫描器的研究来提高对计算机安全的认识。利用 TCPconnect 扫 描原理,扫描主机通过 TCP/IP 协议的三次握手与目标主机的指定端口建立一次完整的连 接,如果目标主机该端口有回复,则说明该端口开放。利用多线程技术实现了对一目标IP 进行设定数目的端口扫描,计算机端口扫描技术就是这种主动防御策略实现

4、的重要技术手 段。该端口扫描器采用C+语言开发,在VC6.0编译环境下通过测试。关键词:端口扫描器;IP段扫描;信息安全1 引言扫描器是网络信息收集的一种方法之一 , 从功能上可化分为漏洞扫描器和端口扫描 器。理解客户机-服务器与端口扫描之间的工作原理,完成对目标主机端口扫描功能的实 现,即发现目标主机开启的端口信息。可见,端口与进程是一一对应的,如果某个进程正 在等待连接,称之为该进程正在监听,那么就会出现与它相对应的端口。由此可见,通过 扫描端口,便可以判断出目标计算机有哪些通信进程正在等待连接。2 端口扫描概述对于毕业设计建设,首先应考虑选择一个实验平台,考虑到windows操作系统在p

5、c机 上的垄断地位,再加上microsof t提供的办公软件、数据软件的通用性,使得现有的信息 系统大都建立在windows操作系统基础上,而且,现有的信息安全攻击操作系统或漏洞威 胁,大多数是针对windows操作系统,因此,我们选择windows系统作为实现平台。本毕 业论文的目标是设计并实现一个简单的端口扫描器,它通过与目标主机TCP/IP端口建立连 接并请求某些服务,记录目标主机的应答,分析目标主机相关信息,从而发现目标主机某 些内在的安全弱点。扫描器通常分两类:漏洞扫描器和端口扫描器。端口扫描器用来扫描 目标机开放的服务端口以及端口相关信息2,漏洞扫描器检查目标中可能包含的大量已知

6、的漏洞,如果发现潜在的漏洞可能性,就报告给扫描者。网络漏洞端口扫描器对目标系统进行检测时,首先探测目标系统的存活主机,对存活 主机进行端口扫描,确定系统开放的端口,然后扫描器对开放的端口进行网络服务类型的 识别,确定其提供的网络服务。漏洞扫描器根据目标系统的操作系统平台和提供的网络服 务,调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断 是否存在漏洞。在分析总结目前现有的扫描软件,掌握扫描器的原理基础上,首先设计、 实现一种端口扫描程序,存储扫描结果。3 端口扫描相关知识3.1 端口的基本概念我们这里所说的端口,不是计算机硬件的i/o端口,而是软件形式上的概念。服务器

7、 可以向外提供多种服务,比如,一台服务器可以同时是web服务器,也可以是ftp服务器, 同时,它也可以是邮件服务器。为什么一台服务器可以同时提供那么多的服务呢?其中一个很主要的方面,就是各种服务采用不同的端口分别提供不同的服务。 根据提供服务类 型的不同,端口分为两种,一种是tcp端口,一种是udp端口。计算机之间相互通信的时候, 分为两种方式:一种是发送信息以后,可以确认信息是否到达,也就是有应答的方式,这 种方式大多采用tcp协议;一种是发送以后就不管了,不去确认信息是否到达,这种方式 大多采用udp协议。对应这两种协议服务提供的端口,也就分为tcp端口和udp端口。那么, 如果攻击者使用

8、软件扫描目标计算机,得到目标计算机打开的端口,也就了解了目标计算 机提供了那些服务。计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加, 对计算机网络的依赖也越来越大,网络安全问题也日益明显3,端口扫描技术是发现安全 问题的重要手段之一。一个端口就是一个潜在的通信通道,也就是一个入侵通道。网络安 全从其本质来讲就是网络上信息安全4,它涉及的领域相当广泛,这是因为目前的公用通 信网络中存在着各式各样的安全漏洞和威胁。对目标计算机进行端口扫描,能得到许多有 用的信息。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过 这种方法,可以搜集到很多关于目标主

9、机的各种有用的信息,从而发现目标机的某些内在 的弱点。3.2 常见端口介绍端口是一个 16 bit 的地址,用端口号进行标识不同作用的端口。端口一般分为两类。 熟知端口号:范围从 0 到 1023,这些端口号一般固定分配给一些服务。比如 21 端口分配 给 FTP 服务, 25端口分配给 SMTP 服务,就是所说的邮件服务。 80端口分配给 HTTP 服务, 135 端口分配给 RPC 服务等等。动态端口号:动态端口的范围从1024 到 65535,这些端口 号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序 向系统提出访问网络的申请,那么系统就可以从这些端口号中分

10、配一个供该程序使用。比 如 8080 端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所 占用的端口号。3.3 端口扫描器功能简介端口分为源端口和目的端口,源端口是本机打开的,目的端口是在和本机通信的另一 台计算机的端口。端口是由计算机的通信协议TCP/IP协议定义的。其中规定,用IP地址和 端口作为套接字,它代表TCP连接的一个连接端,一般称为Socket。具体来说,就是用IP 端口来定位一台主机中的进程。可以做这样的比喻,端口相当于两台计算机进程间的大门, 可以随便定义,其目的只是为了让两台计算机能够找到对方的进程。计算机就像一座大楼, 这个大楼有好多入口(端口),进到

11、不同的入口中就可以找到不同的公司(进程)。如果 要和远程主机A的程序通信,那么只要把数据发向A端口就可以实现通信了。可见,端口与 进程是一一对应的,如果某个进程正在等待连接,称之为该进程正在监听,那么就会出现 与它相对应的端口。由此可见,通过扫描端口,便可以判断出目标计算机有哪些通信进程 正在等待连接。服务器上所开放的端口就是潜在的通信通道,也就是一个入侵通道。对目 标计算机进行端口扫描5,能得到许多有用的信息,进行端口扫描的方法很多,可以是手 工进行扫描、也可以用端口扫描软件进行。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方 法可以搜集到很多关于目标主机的

12、各种有用的信息,例如远程系统是否支持匿名登陆、是 否存在可写的FTP目录、是否开放TELNET服务和HTTPD服务等。3.4 常用端口扫描技术3.4.1 TCP connec t()扫描这是最基本的TCP扫描,操作系统提供的connec t()系统调用可以用来与每一个感兴趣 的目标计算机的端口进行连接。如果端口处于侦听状态,那么connec t()就能成功。否则, 第3页这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权 限。优点:稳定可靠,不需要特殊的权限。系统中的任何用户都有权利使用这个调用。另 一个好处就是速度快。如果对每个目标端口以线性的方式,使用单独的co

13、nnec ts调用,那 么将花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。缺点是扫描方 式不隐蔽。3.4.2 TCP SYN 扫描TCP SYN扫描是使用最为广泛的扫描方式,其原理就是向待扫描端口发送SYN数据包, 如果能够收到SYN+ACK数据包,则代表此端口开放,如收到RST数据包,则证明此端口关 闭,如未收到任何数据包,且确定该主机存在,则证明该端口被防火墙等安全设备过滤。 由于SYN扫描并不会完成TCP连接的三次握手过程,所以SYN扫描又叫做半开放扫描。SYN 扫描的最大优点就是速度,在Internet上,如果不存在防火墙,SYN扫描每秒钟可以扫描 数千个端口,但是SY

14、N扫描由于其扫描行为较为明显,容易被入侵检测系统发现,也容易 被防火墙屏蔽,且构造原始数据包需要较高系统权限。3.4.3 TCP FIN 扫描有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进 行监视,有的程序能检测到这些扫描。如果目标主机该端口是“关”状态,则返回一个CP RST数据包;否则不回复。根据这一原理可以判断对方端口是处于“开”还是“关”状态。 相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适 当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。FIN扫描 具有较好的隐蔽性,不会留下日志,但是其应用

15、具有很大局限性:由于不同系统实现网络 协议栈的细节不同,FIN扫描只能扫描Linux/UNIX系统,如果是Windows系统,无论端 口开放与否都会直接返回RST数据包,无法对端口状态进行判断。3.4.4 IP段扫描这种扫描方式并不是新技术,它并不是直接发送TCP探测数据包,而是将数据包分成 两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而过滤器就很难探测到。但 必须小心:一些程序在处理这些小数据包时会有些麻烦。3.4.5 TCP 反向 iden t 扫描ident协议允许(rfcl413)看到通过TCP连接的任何进程的拥有者的用户名,即使这 个连接不是由这个进程开始的,该服务就会读取指定TCP连接的查询数据,将拥有指定TCP 连接的用户信息反馈给对方,。例如扫描者可以连接到http端口,然后用identd来发现 服务器是否正在以 root 权限运行。这种方法只能在和目标端口建立了一个完整的 TCP 连 接后才能看到。3.4.6 FTP 返回攻击FTP协议的一个有趣的特点是它支持代理(proxy)FTP连接,即入侵者可以从自己的 计算机和目标主机target.coM的FTP server-PI(协议解释器)连接,建立一个控 制通信连接。然后请求这个server-PI激活一个有效的server-DTP(数据传输进程)来给 Int erne t上任何地方

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号