端口扫描器实现.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
. PAGE 页 . 页 《综合课程设计》 题目:端口扫描器的实现 院、 系: 计算机科学与工程 学科专业: 学 号: 学生姓名: 指导教师: 2012年10月 . 页 1 引言 1.1 课题的背景及意义 网络中每台计算机犹如一座城堡,这些城堡中,有些是对外完全开放的,有些却是大门紧闭的。入侵者们是如何找到,并打开它们的城门呢?这些城门究竟通向何处? 在网络中,把这些城堡的“城门”称之为计算机的“端口”。端口扫描是入侵者有哪些信誉好的足球投注网站信息的几种常用方法之一,也正是这一种方法最容易暴露入侵者的身份和意图。一般说来,扫描端口有以下目的: 判断目标主机上开放了哪些服务 判断目标主机的操作系统 如果入侵者掌握了目标主机开放了哪些服务,运行何种操作系统,他们就能使用相应的手段实现入侵。而如果管理员先掌握了这些端口服务的安全漏洞,就能采取有效的安全措施,防范相应的入侵。 1.2 端口扫描现状 计算机信息网络的发展加速了信息化时代的进程,但是随着社会网络化程度的增加,对计算机网络的依赖也越来越大,网络安全问题也日益明显。端口扫描技术是发现安全问题的重要手段之一。一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息,从而发现目标机的某些内在的弱点。 2 系统设计 2.1 系统主要目标 本程序主要实现了: 简易的TCP connect()扫描,支持多线程; UDP扫描功能; 能对单个指定的主机进行扫描或扫描指定网段内的主机; 能扫描特定的部分端口号或对指定的端口段内的端口进行逐个扫描; 2.2开发环境及工具 测试平台:Windows XP Professional 使用软件:Visual C++ 6.0 开发语言:C语言 2.3功能模块与系统结构 作为端口扫描程序,首先需要完成的功能就是对于系统操作系统的服务端口进行扫描,返回扫描结果。对于端口的扫描,包括对于本机系统服务端口,局域网内目标机系统,以及远程IP的系统服务端口进行扫描。 有些时候,用户并不需要去扫描整个系统的所有端口,因为这样的话不仅会浪费大量的时间,而且可能导致难以找到自己需要了解的端口的扫描结果。所以,对于选择性地对端口进行扫描也非常重要。这当然也是扫描程序需要实现的功能之一。 用户在等待扫描的时候,往往希望知道它的工作进度。这样用户可以更好地控制自己的操作。站在用户的角度思考,设置进度是程序需要完成的,这样就能知道程序扫描的进度。 系统必须提供的服务是功能需求的基本,本着站在用户角度思考的原则,做出如上叙述需求,从简列举如下: 扫描功能; 端口选择功能; 进度显示功能; 端口扫描程序功能模块如下图所示: 端口扫描系统 端口扫描系统 操作 显示 设置地址 设置端口 设置协议 开始扫描 进度显示 结果显示 程序运行流程图: 开始 开始 开始扫描 设置扫描参数(IP、端口、协议) 读入用户设置的IP、端口号、协议 nowAddr=StartAddr i=0 初始化进度条 进行TCP扫描 nowAddr=EndAddr i++ itotalPort 进行UDP扫描 显示打开端口 AfxBeginThread(DoScanPort_TCP,inforabout,0,0,0,NULL) nowAddr++ nowAddr=EndAddr nowAddr=StartAddr i=0 itotalPort DoScanPort_UDP(inforabout) i++ 显示打开端口 nowAddr++ 结束 是 是 是 是 是 是 否 否 否 否 否 否 3 系统功能程序设计 本程序主要实现了简易的TCP connect()扫描和UDP扫描功能,对TCP扫描支持多线程扫描,UDP扫描仅支持单线程。 基本过程: 获取本机IP 分割字符串函数的实现 获取待扫描的IP地址 获取待扫描的端口号 指定端口号的初始化 指定端口号的保存 3.1 TCP connect() 扫描 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同

文档评论(0)

hkfgmny + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档