毕业论文 远程计算机网络管理.doc_第1页
毕业论文 远程计算机网络管理.doc_第2页
毕业论文 远程计算机网络管理.doc_第3页
毕业论文 远程计算机网络管理.doc_第4页
毕业论文 远程计算机网络管理.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2007 届本科生毕业论文 存档编号 武汉大学武汉大学 毕业 设计 论文 题 目 远程计算机网络管理 学 院 摘摘 要要 随着计算机和通信技术的发展 远程监控技术与网络技术的密切结合使计算机监控软 件在工业自动化领域空前成功 这对提高企业的生产效率发挥了巨大的作用 同时也给计 算机监控软件朝着办公自动化领域发展起到巨大的推动作用 本文讨论远程计算机网络管理系统的设计思路和开发方法 首先对开发该系统使用到 的一些基本原理做一个简单的介绍包括 RMON 标准 开发采用的平台 同时重点分析开 发模式 客户端 服务器端模式 网络通信技术 多线程技术以及这些核心技术在该系统 开发过程中的应用 其次介绍面向对象程序设计思想以及方法 确定该系统使用的开发方 法后 从系统的工作流程出发分别从客户端 服务器端各功能模块的设计和实现做一个详 细的介绍 最后对本文对该系统开发的结果做一个总结 并且对指出该系统的扩展方向 远程计算机网络管理系统是基于 C S 模式的应用系统 客户端通过获取服务器端网络 状态 以及相关的进程等信息从而实现对该远程网络管理功能 该系统于 Windows XP sp2 下开发 采用 Visual Basic2005 作为开发工具 关键词 关键词 计算机 监控 网络管理 客户 服务器模式 Abstract With the development of computer and communications technology remote monitoring technology and network technology closely integration makes computer monitoring software succeed in the areas of industrial automation and play a tremendous role in improving the production efficiency This will also greatly promote computer monitoring software turning to the field of office automation The dissertation discusses the design and realization of a Remote computer network management system Firstly discuss some of the basic theory briefly including RMON standards and the development of the platform Then while focusing on the analysis of the development model the client server pattern network communications technology Multithreading technology and the core technology in the system development process applications Secondly giving an introduction of object oriented programming design concepts and methods after determined the method of development started with the work flow of the system the design and realization of the Modules functions on Client and Server is presented respectively Finally summing up the result of development in this system and point out the expansion direction of the system Remote computer network management system is based on Client Server mode Client achieved a remote network management functions through the server s network state and the relevant information of the process The system developed in Windows XP sp2 with visual basic 2005 as a development tool Keywords computer monitoring network Management client server pattern 目目 录录 第一章第一章 绪论绪论 1 1 1 课题研究背景 1 1 2 国内外研究现状 2 1 3 本文的主要工作 3 第二章第二章 系统使用基本概念系统使用基本概念 4 2 1 RMON 4 2 2 C S 软件开发模式 4 2 3 网络通信技术 6 2 3 1 SOCKET简介 6 2 3 2 SOCKET套接字编程原理 7 2 3 3 通信方式选择 8 2 3 4 套接字工作流程 9 2 4 多线程技术 10 2 5 开发平台 VISUAL BASIC 2005 11 第三章第三章 面向对象程序设计方法面向对象程序设计方法 12 3 1 面向对象思想 12 3 2 面向对象开发在系统中的应用 12 第四章第四章 远程计算机管理软件实现远程计算机管理软件实现 14 4 1 系统要求及功能要求 14 4 1 1 系统要求 14 4 1 2 功能要求 14 4 2 系统采用主要技术 15 4 3 远程计算机网络管理软件的设计框架 16 4 4 远程计算机网络管理系统核心功能及实现 17 4 4 1 系统界面设计 17 4 4 2 通信模块 18 4 5 远程计算机网络管理系统客户端设计实现 20 4 5 1 客户端应用的实现功能 20 4 5 2 系统客户端子功能模块划分 20 4 5 3 主要子模块设计实现 21 4 6 远程计算机网络管理系统的服务器端设计实现 28 4 6 1 服务器端开机自启动的实现 28 4 6 2 服务器端托盘运行模式 29 4 6 3 网络监控数据采集 30 第五章第五章 结束语结束语 33 5 1 工作成果 33 5 2 工作展望 33 致致 谢谢 34 参考文献参考文献 35 1 第一章第一章 绪论绪论 远程计算机网络管理系统是采用 C S 模式主要研究了网络状态监控的关键技术以及如 何实现该系统 该系统利用现代通信技术 Socket 编程 数据采集 多线程以及面向对象 等软件开发技术实现系统管理 用户验证 网络监控 数据显示等功能 其优点是具有良 好的人机交互性 便于用户使用 同时不需要硬件设备的支持 具有较好的性价比 以远 程计算机的网络管理为中心 实现信息 资源的共享和远程管理 第一章主要介绍本课题的提出 研究背景 以及国内外发展现状 本章最后对本文的 主要工作做了一个简单的介绍 1 1 课题研究背景课题研究背景 自从 1946 年冯 诺伊曼提出 程序存储 和 程序计算 从而制造出人类历史上的 第一台计算机以来 计算机就以无法抵挡的威力深入到人们生活的各个领域 而 1969 年开 始建立名为 ARPNET 的网络开始 到现在 internet 的全方位普及 计算机时刻都在深刻的 影响着我们的生活 近年由于互联网的飞速发展 计算机的应用逐渐扩展到了各个行业的 内部 为了实现内部资源的共享 局域网的应用得到了飞快的发展 为了更方便的获取信 息和实现资源共享 越来越多的公司企业 学校以及各种职能部门都实现了互联网的连接 毋庸置疑在信息化社会的今天 极大的方便了企业内部和企业间的协作 提高了企业的工 作效率 然而利用网络观看网络电视 聊 QQ 浏览不良网站 或者由于误操作 木马病 毒入侵造成企业秘密泄漏等也给企业造成很大的负面影响 据国外数据统计 开通互联网 办公的企业中 企业员工平均每天有超过二分之一的上班时间用来上网聊天 浏览娱乐色 情网站或者处理个人事务 这既浪费了有限网络资源 使网络得不到充分的利用 也影响 了正常的办公业务 因此如何加强对计算机的管理 更好地利用网络资源 成为了日益突 出的问题 由于这些行为的隐蔽性和难管理性 因此如何有效地解决这个突出问题成为人 们关注的一个焦点 本课题就是在这个背景下产生的 论文针对计算机和网络给管理方面 带来的不利影响 论述了如何建立起一种可控可管的系统 实现对远程计算机的信息化和 管理化 监控系统的一个简单含义就是通过某种方法对一些特定情况进行实时跟踪 如有异常 现象发生 则发出警报信息同时对异常进行相应的处理 而减轻了工作强度 从使用设备 类型的角度上来划分 监控系统可以分为两类 以硬件为主的监控系统和以软件为主的监 控系统 前者主要是通过摄像头和各种传感器来完成监控功能 例如银行使用的闭路电视 监视系统 就是采用摄像头来录制任意一个时刻营业厅周围的场景 后者是随着网络和计 算机的发展而产生的新的监控系统 互联网的普及和发展 既带来信息共享和资源交换方 便的益处 同时也不可避免地带来了消极的因素 如网络病毒 恶意黑客程序等一直在威 胁着计算机的安全 各种不健康的内容充斥着互联网 严重影响了网络的健康发展 为了 抵御各种新的威胁 产生了以软件为主的监控系统 这类监控系统主要以防火墙为代表 本文开发的远程计算机网络管理系统则属于后者 2 1 2 国内外研究现状国内外研究现状 远程计算机网络管理系统主要是对远程的某台或者若干台计算机进行监控 用来查看 任意一段时间内被控端计算机的网络情况 使用的是远程控制技术 远程控制软件是在远 方机器允许的情况下 对其进行监控的一类软件 它由客户端 Client 和服务器端 Server 两部分组成 Server 端是应用于被控端计算机上的软件 Client 端是运行于 监控端计算机上的软件 这与木马技术具有很大的相似性均采用远程监控技术 只不过木 马具有隐蔽性和非授权性的特点 从远程监控程序的发展来看 基本上可以分为两个阶段 最初产生于以 UNIX 平台为 主要操作系统时期 当时木马程序的功能相对简单 往往是将一段程序嵌入到系统文件中 用跳转指令来执行一些木马的功能 在这个时期木马的设计着和使用者大都是些技术人员 必须具备相当的网络和编程知识 而后随着 Windows 平台的日益普及 一些基于图形操作 的木马程序也出现了 用户界面的改善 远程监控技术采用的技术也朝着一下几个方面发 展 1 跨平台性 主要是针对 Windows 系统而言 如何让监控程序能够在不同的 Windows 平台上运行是一个需要解决的难点 因为 Windows NT 2000 XP 都具有了权限的概念 这 和 Windows 95 98 是不同的 另外一般的监控程序多少都使用了某些 Windows 系统下特 定的 APT 因此如何能够设计出与 Windows 平台版本无关的监控系统是所有开发商们面临 的一个难点 2 模块化设计 模块化设计是一种潮流 现在的远程监控软件同样采用了模块化设计 的概念 3 更新更强的感染模式 传统的修改 INI 文件和注册表的手法 已经不能适应更加隐 蔽的需要 目前很多木马的感染方式已经开始改变 象病毒一样感染 Windows 下的文件 监控软件也需要解决隐蔽性的问题 因此木马的传播方式仍然可以借鉴 4 即时通信 如果目标使用的是动态 IP 以扫描方式找 IP 地址太慢 现在的木马已 经有了即使通知的功能 如 IRC ICQ 通知等 随着网络技术的飞速发展和监控范围的扩大 监控系统由过去的单机监控过渡到现在 的网络监控 但目前还存在着一些问题 首先 网络通信技术不足的问题 网络通信技术是远程监控技术中最为关键的技术 然而 目前网络通信一般简单采用 Socket 技术 甚至 FTP 或 E Mail 等 这些技术无 论在传输的数据量 编程的灵活性还是安全性方面都有很大的欠缺 特别是对于现场多个 端点的数据采集 会大大增加编程的复杂度 不能满足远程监控技术对网络通信的需求 其次 网络通信中多种结构并存的问题 目前的远程监控系统结构大多比较复杂 分 布距离远 而且还存在着不同局域网 不同平台 甚至在同一局域网中的操作平台以及编 程语言也可能有不同的问题 这就要求集成网络中的不同平台 实现相互之间的通信 而这 些问题采用传统方法是难以解决的 远程监控是国内外研究的前沿课题 国内外都展开了积极的研究 1997 年 1 月 首 届基于 Internet 的远程监控诊断工作会议由斯坦福大学和麻省理工学院联合主办 有来 自 30 多个公司和研究机构的 50 多位代表到会 会议主要讨论了有关远程监控系统开放 3 式体系 诊断信息规程 传输协议及对用户的合法限制等 并对未来技术发展作了展望 1 3 本文的主要工作本文的主要工作 本课题采用了计算机网络通信 多线程 木马等多个领域技术同时整合在管理系统中 使整个系统具有良好的人机交互性 实时性 安全性 和可扩性 本课题要完成的主要任 务是基于 C S 模式的远程计算机网络管理系统设计开发 从系统功能要求到具体模块设计 和实现 重点完成客户端和服务器端中各模块的设计 并保证整个系统的易用性 实时性 安全性 并充分考虑后续阶段的开发 4 第二章第二章 系统使用基本概念系统使用基本概念 2 1 RMON 远程监控 RMON 是一个标准监控规范 它可以使各种网络监控器和控制台系统之 间交换网络监控数据 RMON 为网络管理员选择符合特殊网络需求的控制台和网络监控探 测器提供了更多的自由 RMON 首先实现了对异构环境进行一致的远程管理 它为通过端 口远程监视网段提供了解决方案 主要实现对一个网段乃至整个网络的数据流量的监视功 能 目前已成为成功的网络管理标准之一 远程计算机网络管理系统选择采用 RMON 标准主要是为了更有效的管理计算机 通过 积极主动地监测远程计算机的网络状况 做到快速发现网络状况异常 及时纠正网络故障 防止病毒木马等影响 RMON MIB 的实现可以记录某些网络事件 可以记录网络性能数据 和故障历史 可以在任何时候访问故障历史数据以有利于进行有效地故障诊断 由于采用 主动探测可以减少了本地计算机与远程计算机之间的数据流量 使简单而有力地管理大型 网络成为可能 下图给出计算机远程通信 图 2 1 计算机远程通信 2 2 C S 软件开发模式软件开发模式 随着 Internet 网络应用技术的发展 基于客户 服务器的系统设计已经被广泛的应用于 各类的系统的软件设计和开发中 其基本思想是把应用分布在客户机和服务器上 他主要 是用于主从计算机的应用程序 其中的每一台计算机负责维护一项特别功能 这种变成方 式改变了我们传统的单机应用程序和系统实现方式 简单的说 这种模型的工作方式就是 Client 端向 Server 端提出访问请求 或者提交一个任务 Server 端在接受该任务后 经过 一些处理 将处理结果返回给 Client 端 客户机 服务器结构在最初阶段是以终端 主机结构的形式出现的 这种体系结构使得用 户可以尽可能地使用共享资源 这里的共享资源包括了数据和程序的共享 终端的任务只 是简单的输入命令 显示结果 而相关的工作一切都交给了主机去完成 在这样的机构中 由于终端完成的工作很简单 必须随着信息业的发展经常更新但是主机负责了所有数据的 5 处理任务 随着信息量的增加 它在功能和性能上也必须跟随发展 终端 主机的结构特别是资源得到充分的共享 但用户界面不友好 主机负荷过大 因 此客户机 服务器模式就产生了 从客户 服务器应以上来说 它代表一个具有定义好的特定 功能平台 也就是说 一个平台指的就是一台计算机所使用的软件和硬件的组合 在一个 两层系统中 计算机图形化的快速发展 网络技术日益成熟 在各种远程管理软件中 C S Client Server 客户机 服务器 结构应日出成熟 C S 结构在最初阶段是以终端 主机 结构新式出现的 这种体系结构的能够尽可能地使用共享该主机的资源 而终端只是负责 提交数据和显示数据而中间的处理数据由主机完成 但是随着信息量处理的增加 导致主 机负荷过大 在这种情况下 C S 模式由于客户端和服务器端都有一套完整的应用程序都具 备了数据处理的能力 图 2 2 C S 通信模型 客户机 服务器结构通常化分为四层 从客户机到服务器分别为 1 数据捕获层 人机交互的捕获和转换 包括键盘 鼠标 虚拟现实接口设备和未来的语 音 手势和神经传导 以及输出设备如显示器 打印机 磁带机等 该层的编程操做是将 数据以预定的格式展现出来 2 业务规则层 该层负责将数据转换为业务关联数据 增加有关业务规则的信息 业务规 则层不处理数据 仅仅是涉及规则 3 应用接口层 该层负责将业务关联数据转换为技术关联数据 如 SQL 语句 以供应用 服务器层使用 4 应用服务器层 该层负责处理数据 如存储数据和计算出结果 这种体系结构最初的出现时为了缓解终端 主机结构中主机的繁重工作负担 通过在 客户和服务器之间划分各自所包含的层次 则可以提高应用的计算效率 于是将主机要做 的一部分工作转移到了客户机上 显然这也就增加了对客户机的要求 但随着 PC 业的发 展 这一点已经不成为什么问题了 在两层结构的体系里 业务规则可能混杂在客户端的用户界面控制流中 也可能潜入 在服务器端的数据库中 更常见的是客户端和服务器端各实现一部分业务逻辑 通过网络 客户端把 SQL 语句 文件系统的调用以及其他请求送到服务器中 服务器对请求进行处理 然后把原始结果回送到客户端 两层结构的最大特点在于 具有成熟的设计开发方法和工具 经过多年的积累 基于 Client Server 模式的系统设计开发方法已经被用户所熟悉和掌握 并且 众多的数据库和 软件生产商提供了各种可视化工具和编程语言来实现支持开发 交互性强 界面友好 各 个 Client 上运行的应用程序是针对特定的用户和任务设计的 同时具有在线帮助和提示出 6 错等等的功能 1 数据通信量小 安全性高 2 两层结构对于规模相对来说较小 专用型的系统应用程序来说非常合适 2 3 网络通信技术网络通信技术 2 3 1 socket 简介简介 80 年代初 美国政府的高级研究工程机构 ARPA 给加利福尼亚大学 Berkeley 分校 提供了资金 让他们在 UNIX 操作系统下实现 TCP IP 协议 在这个项目中 研究人员为 TCP IP 网络通信开发了一个 API 应用程序接口 这个 API 称为 Socket 接口 套接字 今天 SOCKET 接口是 TCP IP 网络最为通用的 API 也是在 INTERNET 上进行应用开发 最为通用的 API 90 年代初 由 Microsoft 联合了其他几家公司共同制定了一套 WINDOWS 下的网络编程接口 即 Windows Sockets 规范 它是 Berkeley Sockets 的重要扩 充 主要是增加了一些异步函数 并增加了符合 Windows 消息驱动特性的网络事件异步选 择机制 WINDOWS SOCKETS 规范是一套开放的 支持多种协议的 Windows 下的网络编 程接口 从 1991 年的 1 0 版到 1995 年的 2 0 8 版 经过不断完善并在 Intel Microsoft Sun SGI Informix Novell 等公司的全力支持下 已成为 Windows 网 络编程的事实上的标准 目前 在实际应用中的 WINDOWS SOKCETS 规范主要有 1 1 版 和 2 0 版 两者的最重要区别是 1 1 版只支持 TCP IP 协议 而 2 0 版可以支持多协议 2 0 版有良好的向后兼容性 任何使用 1 1 版的源代码 二进制文件 应用程序都可以不加修 改地在 2 0 规范下使用 Socket 作为支持 TCP IP 协议的网络通信的基本操作单元 它提供了不同主机间进程通 信的断点 这些进程在通信前各自建立一个 Socket 通过调用 Socket 的 API 实现网络通信 而 Socket 利用下层的网络通信协议和操作系统的调用完成网络通信 如图 2 3 所示 这样 就屏蔽了网络底层的结构和协议 应用程序在网络上传输 接收数据都通过 Socket 接口来 实现 在应用开发中就像使用句柄一样 可以对 Socket 句柄进行读 写操作 7 图 2 3 网络通信 2 3 2 socket 套接字编程原理套接字编程原理 套接字有三种类型 流式套接字 Stream Socket 数据报套接字 Datagram Socket 及原始套接字 Raw Socket 流式套接字式是最常用的套接字是 TCP IP 协议中 TCP 协议使用的接口 它提供可靠 的面向连接服务 实现了无差错无重复的顺序数据传输 数据报套接字是 TCP IP 协议中 UDP 协议的使用接口 它定义一种无连接的服务 数据通过相互独立的报文进行传输 是 无序的 并且不保证可靠 无差错 原始套接字允许对网络底层协议 如 IP 和 ICMP 直 接访问 主要用于新的网络协议的测试等 不提供给普通用户使用 一般情况下 我们使用流式套接字和数据报套接字来开发网络通信程序 流式套接字 提供高可靠的阿服务 数据报提供高效率的服务 高可靠的通信用于传输需要交换大量报 文的场合如文件传输 远程登陆等 高效率的通信用于一次传输交换少量的报文如数据库 查询等 其可靠性由应用程序保证 应为需要交换的信息较少 即使发生错误传输需要重 传也不会付出太大的代价 无连接服务器一般是面向事务处理的 一个请求一个应答就完成了客户程序和服务程 序之间的相互作用 若使用无连接的套接字编程 程序流程如图 2 4 所示 图 2 4 无连接的套接字的系统调用时序图 面向连接服务器处理的请求比较复杂 不是一来一去的简单的请求应答所能解决的 所以往往是并发服务 使用面向连接的套接字编程 8 图 2 5 面向连接的套接字的系统调用时序图 2 3 3 通信方式选择通信方式选择 在进行网络开发 首先必须选择阻塞方式还是非阻塞方式进行通信 处于阻塞模式的 函数转调操作完成后才返回 由于调用这些函数的套接字直到返回前不能做任何事 因此 被称为阻塞函数 而当套接字处于非阻塞模式时 API 函数的调用立刻返回 大多数情况 下这些调用都会 失败 并且返回一个 WSAEAEWOULDBLOCK 错误 这意味请求 的操作在调用期间没有时间完成 在网络通讯中 由于网络拥挤或一次发送的数据量过大等原因 经常会发生数据交换 的数据在短时间内不能传送完 收发数据的函数因此不能返回 这就造成了阻塞 利用调 用函数 recv 时 如果数据还未到达 系统则在此挂起 直到数据到达或接收到高级的中 断信号为止 WinSock 对有可能阻塞的函数提供了两种处理方式 同步和异步方式 在同 步方式下 收发数据的函数在被调用后一直要到传送完毕或者出错才能返回 对于异步方 式 函数被调用后立即返回 当传送完成后 WinSock 给程序发送一个实现约定好的消息 Berkeley Socket 一般采用阻塞的工作方式 这种方式比较适合 UNIX 操作系统 而 9 Windows 下不再适用了 因为一旦发生阻塞 CPU 的控制权会一直被占用 容易发生死机 因此 Windows Socket 在 Berkeley Socket 基础上进行了扩充 提供了一些异步函数 增加 了符合 Window 消息驱动特性的网络事件异步选择机制 以开发符合 Windows 特性的高效 率的网络程序 在 Windows 环境下开发网络通信尽量要采用非阻塞方式操作 因为非阻塞方式在非抢先 Windows 操作系统下能够更好得工作 Windows Socket 通过异步选择函数 WSAAsyncSelectQ 来实现非阻塞通信 它提供了对网络事件基于消息的异步存取 可用该 函数注册应用程序感兴趣的网络事件 如有数据到达 可以发送数据或有程序请求连接等 网络事件发生时 会调用 WINSOCK DLL 向窗口应用程序发送特定的消息 程序就可以 根据消息作相应处理 2 3 4 套接字工作流程套接字工作流程 1 创建套接字 程序在通信前 首先必须拥有一个套接字 系统调用 socket 向应用 程序提供创建套接字的手段 其调用格式如下 Dim clientSocket as New Socket AddressFamily InterNetwork SocketType Stream ProtocolType Tcp socket 的创建需要三个参数 AddressFamily 枚举指定 Socket 类用来解析网络地址的标准地 址族 AddressFamily InterNetwork 是成员指定使用 IP 版本 4 地址族 SocketType 枚举指 定套接字的类型 SocketType Stream 成员表示一个用于发送和接收数据并且支持流控制的 标准套接字 ProtocolType 枚举指定在 Socket 上通信时使用的网络协议 ProtocolType Tcp 指示套接字使用 TCP ProtocolType Udp 指示套接字使用 UDP 2 配置 socket 当一个套接字用 socket 创建后 需要使用制定本地的终结点 bind 将套接字地址 包 括本地主机地址和本地端口地址 与所创建的套接字号关系起来 即将名字赋予套接字 以 指定与本地相关 调用 Bind 之前 必须首先创建打算从其进行数据通信的本地 IPEndPoint 如果对制定的套接字地址没有要求 则可以用 IPAddress Any 作为地址参数创 建一个 IPEndPoint 这样 基础服务提供程序将会分配最适合的网络地址 如果本地存在 多个网络接口 这将有助于简化应用程序 同样对于端口不需特定的话 则可以创建一个 使用 0 作为端口号的 IPEndPoint 在这种情况下 服务提供程序将会分配一个可用的端口 号 其调用方法如下 Dim localEndPoint As New IPEndPoint Address ToString 12345 clinetSocket Bind localEndPoint 采用面向连接的服务器需要使用 listen 来监听端口同时指出接受请求的队列长度 其 调用方法如下 listener Listen 1 由于该系统使用 P2P 控制所以设定队列长度为 1 Dim handler As Socket listener Accept 同意接入请求 10 3 建立套接字连接 connect 和 accept 这两个函数调用用于完成一个完整相关的连接 其中 connect 用于建立连接 无连接 的套接字进程也可以调用 connect 但这时在进程之间没有实际的报文交换 调用将从本 地操作系统直接返回 这样做的优点是不必为每一数据指定目的地址 而且如果收到的一 个数据报 其目的端口未与任何套接字建立 连接 便能判断该端口不可操作 而 accept 用于使服务器等待来自某客户进程的实际连接 connect 的调用方法如下 Public Sub Connect ByVal remoteEP As EndPoint accept 用于面向连接服务器 参数 addr 和 addrlen 存放客户方的地址信息 调用前 参数 addr 指向一个初始值为空的地址结构 而 addrlen 的初始值为 0 调用 accept 后 服务 器等待从编号为 s 的套接字上接受客户连接请求 而连接请求是由客户方的 connect 调用 发出的 当有连接请求到达时 accept 调用将请求连接队列上的第一个客户方套接字地址 及长度放入 addr 和 addrlen 并创建一个与 S 有相同特性的新套接字号 新的套接字可用 于处理服务器并发请求 accept 调用方法如下 Public Function Accept As Socket 4 数据传输 send 和 receive 当 socket 建立完成后 调用这两个函数用来传输数据 send 调用用于在参数 s 指定的 己连接的数据报或流套接字上发送输出数据 其格式如下 Overloads Public Function Send ByVal buffer As Byte As Integer receive 调用用于在参数 S 指定的已连接的数据报或流套接字上接收输入数据 格式 如下 Overloads Public Function Receive ByVal buffer As Byte As Integer 5 socket 关闭 Close 方法可关闭远程主机连接 并释放所有与 Socket 关联的托管资源和非托管资源 调 用方法如下 Public Sub Close 2 4 多线程技术多线程技术 线程是进程的一条执行路径 他包含独立的堆栈和 CPU 寄存器状态 每个线程共享所 有的进程资源 一个进程内的所有线程使用同一个地址空间 而这些线程的执行由系统调 度程序控制 调度程序决定哪个线程可执行以及什么时候执行线程 线程有优先级别 优 先权较低的线程必须等到优先权较高的线程执行完后再执行 在多处理器的机器上 调度 程序可将多个线程放到不同的处理器上运行 以提高系统的运行效率 线程是进程内部的一个可执行路径 它是 CPU 调度的单位 是进程的一个执行单元 所谓的多线程就是一个进程内可以有一个或多个可独立执行的单元 每个单元就是一个线 程 一个应用程序可以创建多个线程 多个不同的执行流 并同时运行这些线程 线程机 制使系统具有了多任务功能 这样用户就可以同时运行多个运用程序 且在每一个应用程 序中又可以同时运行多个线程 这样多个线程并发地在同一进程中 一个进程至少拥有一 11 个线程 即主线程 主线程终止 进程亦终止 主线程以函数地址形式 通常为 Main 或 winmain 函数的地址 被启动代码提供给操作系统 另外 可以根据需要创建其它线程 每 个线程都共享创建它们进程的内存空间 全部变量和系统资源 在 NET Framework 中用来创建和维护线程的基类是 System Threading Thread 类 它能 够创建并控制线程 设置其优先级并获取其状态 拥有 Start Stop Resume Abort Suspend 和 Join waitfor 等方法操纵线程 还可以通过如 Sleep IsAlive IsBackground Priority A part mentState 和 ThreadState 等方法查询和设置线程状态 1 创建线程 创建线程非常容易 最简单直接的方法是创建一个新的 Thread 对象 然后传递给它的 一个委托 也就是指向某类方法的一个引用就启动了这个线程 代码如下 Dim t As New Thread AddressOf ThreadProc t Start 2 挂起线程 t Suspend 2 5 开发平台开发平台 Visual Basic 2005 Microsoft Visual Basic 2005 从 Visual Basic 语言演变而来 是一种为高效地生成类型 安全和面向对象的应用程序而设计的语言 与所有面向 Microsoft NET Framework 的语 言一样 使用 Visual Basic 编写的程序都具有安全性和语言互操作性方面的优点 它延续 了基于 NET Framework 的应用程序的传统 并恢复了对 编辑并继续 的支持 并具有 可快速开发应用程序的新功能 其中一种称为 My 的功能提供了对以下内容的快速访问 由 NET Framework 提供的常见任务 与应用程序及其运行时环境相关的信息和默认对象 实例 新的语言功能包括循环继续 有保证的资源处置 运算符重载 泛型类型和自定义 事件 Visual Basic 与 NET Framework 和公共语言运行库 CLR 完全集成 它们提供 了语言互操作 垃圾回收 增强的安全性和版本管理支持 12 第三章第三章 面向对象程序设计方法面向对象程序设计方法 3 1 面向对象思想面向对象思想 面向对象 Object Oriented 技术是目前流行的软件设计开发技术 包括面向对象分析和 面向对象设计两个方面的内容 面向对象技术以其独特的抽象性 封装性 继承性和多态 性为软件开发带来了一场变革 与以前的结构化技术相比 它具有高效率的软件开发 高 可靠的软件运行 方便的调试 维护和扩充等优点 面向对象程序设计的特征可以概括为以下几个方面 第一 抽象性 抽象是人们认识客观世界的复杂性的一种基本方法 抽象是事物或现 象的简单描述 突出事物或现象之间的共性 而暂时不考虑它们之间的差别 抽象分为两 个方面 一是过程抽象 二是数据抽象 抽象性按照人类的通常思维来描述问题 可以把大 问题分解成小问题 小问题又可以分解成更小的问题来解决 每个小问题都可以是一个独 立的模块 这种思维的方式非常有利于复杂问题的解决 第二 封装性 对象是属性数据和对属性数据进行操作的集合体 而 封装 把这些 数据和操作屏蔽起来 使用户不必知道对象行为的实现细节 只需要根据对象提供的外部 特性接口访问对象即可 封装性保证了模块具有较好的独立性 对应用软件的修改仅限于 类 的内部 使得软件的维护修改较为容易 并且将这些改动所带来的影响减少到最低 限度 大大提高了软件开发的效率和软件的可靠性 第三 继承性 继承性是一种表示对象之间相似性的机制 它使得某类对象可以有另 一类对象的特征和行为 不需要对原有的 类 进行任何修改 或是只需要添加一些新的 成员 便可以得到新的类 这样 可以把已有的模块作为软件的可重用资源 大大提高了 软件的开发效率 第四 多态性 不同对象接收到相同的消息时 会产生不同的动作 所以 当实际情 况发生变化时 比如一个对象接收一个消息后的动作要发生变化时 我们只需要改变这个 动作实现即可 其它各个地方都不需要做出任何的改变 因而这种软件具有良好的稳定性 以不变应万变的灵活性 可以大大减少维护的费用 Visual Basic 2005 作为一种面向对象的程序开发工具 它的三大支柱技术 封装性 继 承性和多态性 充分体现了面向对象思想的精髓 整个系统的开发 就是建立在这三大支 柱技术的基础之上 3 2 面向对象开发在系统中的应用面向对象开发在系统中的应用 由于面向对象的软件开发技术具有优越的性能 很快在科研的各个领域中得到广泛的 应用 计算机监控系统也不例外 目前 面向对象的软件设计方法己经渗透到计算机监控 13 系统软件开发的许多方面 给开发计算机监控软件带来了巨大的方便 运用面向对象的软件开发技术可以较为容易地分析计算机监控系统的功能 进行功能 模块的划分 进而进行基本 类库 的创建 进行数据操作的封装 在计算机监控系统中 这些 类库 的功能应该反映计算机监控系统的实际应用情况 同时 对于新增加的功能 类也要具有良好的包容性 当某一部分的功能发生改变时 也不会影响其它功能的正常实 现 现代社会发展很快 对计算机监控软件的功能要求也瞬息万变 因此 面向对象的软 件开发技术可很好地适应这一要求 使软件开发者可以快速地开发出安全 稳定 实用 高效的计算机监控软件 14 第四章第四章 远程计算机管理软件实现远程计算机管理软件实现 4 1 系统要求及功能要求系统要求及功能要求 4 1 1 系统要求系统要求 虽然该系统是单纯的远程计算机网络管理不涉及硬件接入 所以有别于传统意义上用 于计算机控制技术的监控系统 但是在系统要求上仍然必须具备以下三个特点 1 时效性 这里的时效性包括实时性和分时性 远程计算机管理系统作为一种实时计 算机系统 实时性就是计算机监控系统区别于其它普通计算机系统的关键特点 也是衡量 一个计算机监控系统性能的一个重要指标 实时性有以下几层涵义 首先是服务器端对客 户端请求的及时响应能力 其次是系统实时的监控数据 分时性主要是系统主要采用请求 应答的方式处理 所以只需在请求的时间上做出反应既可 2 可靠性 计算机监控系统的可靠性是指系统无故障运行的能力 现场过程在连续运 行 计算机系统也必须同步连续运行 并对现场过程进行监测和控制 即使系统由于其他 原因出现故障和错误 计算机监控系统仍能照常运行 做出实时响应并记录下完整数据 可靠性常用 平均无故障运行时间 即平均的故障间隔时间 MTBF mean time between failures 来衡程序 3 安全性 安全性是远程计算机网络管理系统极为关键的设计环节 现在 网络上恶 意代码 木马 黑客程序泛滥成灾 通过网络进行信息盗取和数据破坏的情况日益猖撅 对于开放了端口的服务器端造成了重大威胁 因此为了保障服务器端的安全性 既要做到 远程接入用户安全认证 同时也要做到服务器端信息的存贮安全和传输安全 就要采取措 施 如 数据加密技术等等 防止有人恶意修改和窃取信息 4 1 2 功能要求功能要求 近年来出现了很多远程计算机管理软件 如诺顿公司的 PCANYWHERE 同时一些木 马程序对于开发远程计算机网络管理系统也有一定的借鉴作用 通过对同类系统的比较和 研究的范围 本软件必须具有以下基本功能 1 客户端可以按需察看服务器 远程计算机 的网络连接状态 2 客户端可以统计某一时间点的 IP TCP UDP 等统计数据 3 客户端可以根据端口关联进程 4 客户端可以根据需要阻塞服务器某个端口通信 5 客户端可以控制服务器的重启动 关机等操作 6 客户端可以向服务器端发送信息 用于两端通信之间的沟通 15 7 客户端可以获取服务器端进程和服务信息 并且根据需要终止进程和服务 同时为了形成功能更加强大的远程计算机管理系统 它应该还具备以下扩展功能 1 客户端实时监控服务器端屏幕信息 2 客户端可以控制远程计算机的键盘和鼠标 并且记录键盘输入的信息 3 客户端对服务器端磁盘文件进行各种操作包括察看 修改 增删 并且可以复制实 现客户端和服务器端的文件传输 同时为了实现客户端 服务器端的协调工作 我们必须设定一个用于通信的规则如下 1 客户端发送规范 消息传递 SINFO 消息内容 获取 TCP 表 GTCPT 获取 UDP 表 GUDPT 获取 IP 统计 GIPC 获取 TCP 统计 GTCPC 获取 UDP 统计 GUDPC 删除网络连接 CUTP 信息 关联进程 PROCESSANDPORT 端口 强制关机 CLOSE 退出系统 EXIT 获取进程 GPROCESS 2 服务器端发送规范 消息传递 SINFO 消息内容 发送 TCP 表 RTCPT 内容 发送 UDP 表 RUDPT 内容 发送 IP 统计 RIPC 内容 发送 TCP 统计 RTCPC 内容 发送 UDP 统计 RUDPC 内容 发送 PORT 数据 RPORT 内容 退出系统 EXIT 4 2 系统采用主要技术系统采用主要技术 1 TCP 通信技术 主要是基于 TCP IP 传输协议的套接字通信技术 包括套接字类型的选择 创建 配置 到数据的发送和接收等技术 2 端口的选择 套接字的通信需要选择一个合适的端口 一般的选择在 1000 以上 而且越大越好 因为 1000 以下的端口是常用端口 而且使用端口比较大的需要比较长的时间才能发现 3 网络端口扫描技术 设定一定的端口扫描范围 然后创建 socket 通过 socket 的 connect 方法来接受受控端 16 的 IP 地址及对应的端口 检测非法的开放端口 4 多线程处理技术 本文的多线程技术主要是通过使用多线程机制 完成数据的发送 接受和传输 5 windows API 函数 远程计算机网络管理系统 很多功能都是通过大量的 Windows API 函数实现 例如 获得网络状态表 获得系统信息 进程等等 6 木马技术 该程序的服务器端程序具有开机自启动 4 3 远程计算机网络管理软件的设计框架远程计算机网络管理软件的设计框架 远程计算机网络管理软件采用 C S 模式 服务器端用于远程计算机中 客户端位于本 地计算机中 服务器端执行客户端发来请求要求 并且将应答结果在客户端中表现出来 从而实现监控与被监控的目的 图 4 1 系统模块图 客户端模块 1 主框架 该框架借鉴管理软件框架 采用窗口对话框 按钮等简单的图形化界面使 得该框架具有良好得人机交互性 控件的属性使用通用的命名方式采用同一资源简单轻易的 转化成多语言版本的远程控制软件 保留服务 进程管理 屏幕监控等功能给软件的可扩 展性留下了很大的空间 只需要将需要的模块直接添加进去 实现无逢结合 2 网络模块 负责连接客户端 向服务端发送获取服务段网络连接状态命令 统计 TCP UDP IP 数据包以及丢包 延时等属性信息 监听某一个端口对通过该端口的数据 量实时监控 接受来自客户端的数据包 3 同步模块 为了使客户端与服务器端可以协同工作 必须对软件通信过程制定同步 规则 使得该软件可以通过该规则正常有序的通信 数据包显示 网络模块接受的数据包通过同步模块进行分类 然后在该模块中显 示出来 17 服务器端模块 网络模块 负责监听网络远程的连接 接受客户端发送的服务请求 发送服务应 答 处理模块 执行客户端的服务请求 同步模块 负责与服务器端协同工作 4 4 远程计算机网络管理系统核心功能及实现远程计算机网络管理系统核心功能及实现 4 4 1 系统界面设计系统界面设计 为了满足具有良好的人机交互性的要求 系统客户端使用的用户界面是核心要求 因 为用户是通过界面直接和计算机交互的 它展示了系统给用户的感觉 Theo Mndel 美国计 算机学家 关于软件界面设计的著作中提出了三条黄金规则 让用户去控制计算机是指设计软件界面时 要给使用它的用户以更多的自由 而 不是以界面约束和界面限制来强迫用户操作以简化交互模式 即让用户的主动性更大一些 让用户来控制计算机 而不是用计算机来控制用户 减少用户的记忆负担是指用户必须记住的东西越多 和系统交互时出错的可能性 也 就越大 只要可能 系统就应该 记住 有关的信息 并通过能够帮助回忆的交互场景来 辅助用户与计算机交互 保持界面的一致是用户应以一致的方式展示和获取信息 这样才不会造成用户对 信息的理解错误 远程计算机网络管理系统客户端结合 Theo Mandel 提出的三条黄金规则的要求 同时 考虑客户端的实际情况 向用户提供了方便灵活的与用户交互的界面 并注意保持界面的 一致性 同时 采用多种方式给用户以信息提示 减少用户的记忆 如图 4 2 所示 它具 有包括菜单栏 工具栏 状态栏等等 18 图 4 2 系统客户端 菜单栏包括文件 监控命令 窗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论