您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 局域网监控程序的设计
局域网监控程序的设计摘要:在当今信息化高度发展的今天,局域网管理的重要性更加突出,建立一个强有力的局域网监控系统是很有必要的。局域网监控程序,应用于一般小规模的公司内部局域网,方便公司对员工的电脑进行监控管理,防止员工在工作时间利用公司电脑做与工作无关的事,从而提高工作效率。本局域网监控程序采用了Delphi7开发,能显示局域网中所有活动主机IP,能对目标主机进行进程管理和连接监视,当发现目标主机异常时能发消息给目标主机予以提醒,可以控制目标主机的重启、注销、关机,并实行屏幕抓取,发现异常情况可锁定目标主机。关键词:局域网;Delphi;监控DesignofLocalAreaNetworkMonitoringSoftwareAbstractWiththedevelopmentoftechnology,localareanetworkbecomesmoreandmoreimportant.Itisnecessarytodevelopalocalareanetworkmonitoringsoftware.Localareanetworkmonitoringsoftwareismainlyappliedinsmallscalecompanyinlocalareanetwork,whichhelpscompanymonitorandmanagecomputerusedbystuffandavoidsstuffdothingsforeigntowork.ThelocalareanetworkmonitoringsoftwareisbasedonDelphi7.Itprovidesseriesfunctionalities,suchasshowingIPforallactivehostcomputersinthelocalareanetwork,managingprocessandmonitoringconnectionfordestinationhost,remindingexceptionbysendingmessagetodestinationhostwhenexceptionoccurs,controllingoperationsofreset,loggingoutandshuttingdownfordestinationhost,printingscreen,andlockingdestinationhostwhenexceptionoccurs.Keywords:localareanetwork;Delphi;monitoring目录1引言1.1本课题研究的意义1.2本课题的研究方法和思路2相关软件和技术原理介绍2.1Delphi基础介绍2.2TCP简介2.3INDY简介2.4Socket简介3系统设计与实现3.1系统架构3.2系统设计3.2.1运行环境3.2.2模块功能3.3主要模块设计原理3.3.1管理端界面设计3.3.2通信模式设计思路3.3.3通信原理3.3.4通信流程3.3.5自定义控制协议标识符3.4主要功能的实现3.4.1屏幕抓取的实现3.4.2进程管理的实现结论参考文献1引言1.1本课题研究的意义计算机网络的普及应用已渗透到社会各个层面,给社会带来便利的同时也随之带来的安全和管理问题。互联网络是一把双刃剑;就如一个企业而言有些员工利用工作时间看新闻、玩游戏、干私活、聊天、泄密公司资料、炒股票、下电影、听歌曲、甚至在公司网上边拿老板工资边找工作等等。不仅仅消耗公司资源,更是因为影响公司效率、泄露公司机密、甚至丢失客户资源令人痛心。而利用局域网网络监控软件这非常有效的管理辅助手段并和企业的内部管理机制结合达到更加事半功倍的效果,已经成为大家的共识。1.2本课题的研究方法和思路综合运用以前所学的网络相关知识,尤其是要掌握ObjectPascal语言和网络编程,熟悉Delphi的常用控件,先做好基本的界面框架,再实现每个模块的功能,界面与模块功能之间用创建事件联系起来(网络连接的监控/能对局域网资源进行搜索/显示局域网内所有活动主机的IP地址及主机名/发消息/控制目标主机的重启、注销、关机/实行屏幕抓取/锁定目标主机)调试成功后,最后再把各功能模块集成在一起。2相关软件和技术原理介绍2.1Delphi基础介绍Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT等环境下使用。它拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了100多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下:(1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。(4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。(5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。Delphi既可用于开发系统软件,也适合于应用软件的开发。2.2TCP简介TCP(TransmissionControlProtocol,传输控制协议)是一个面向连接的协议,它依赖于IP协议。TCP在两台通信的计算机之间建立一个虚拟的连接,数据可以进行可靠无误的双向交换。在TCP协议中,两台计算机在通信前先要建立Socket(套接字,即通信端点),每个套接字由本机的IP地址和一个16位的端口号组成,建立连接后,数据都被拆分成小于64k字节的片断,加上数据包头发送出去,到达另一台主机后再重新组装。当不再需要连接时,必须释放和撤销连接,为下一次传输腾空资源。TCP为确保数据在传输过程中的可靠性,除规定了数据包的格式外,还具体规定了端对端连接管理的规则,传输数据是策略的约定、拥挤与阻塞控制的规则和定时时间量管理办法等。这样IP协议束手无策的诸多问题都得到了解决,如数据包失效问题,当TCP发现数据包已经过时,则会要求发送端重新发送;数据接收次序问题,在实际中数据包有可能不能按照原来的先后次序到达,而TCP并不要求接收和发送的次序一致,仍能按照正确的顺序装配好。2.3INDY简介INDY的全名是InternetDirect(也叫Winshoes),它是一套开放源代码的Internet控件集,它支持大部分流行的Internet协议,包括TCP、UDP、DNS、ICMP、FINGER、FTP、GOPHER、HTTP、POP3、SMTP、TELNET、WHOIS等,支持BASE64、MD2、MD4、MD5等编解码,提供INTERNET流行协议的客户端和服务器控件。INDY控件集的客户端和服务器控件都有完整、详细的源代码例程和帮助文件,用户可以根据这些例子,简单方便快速的建造各种服务器程序,例如WEB服务器、TELNET服务器、IRC服务器、TCP、UDP服务器等,而这些服务器都是支持多线程的。用户也可以很简单的编写出各种客户端程序,例如EMAIL、FINGER、FTP、PING、TELNET等。INDY是完全基于SOCKET阻塞工作模式的开发库,这是区别于winsock的一大特点,winsock使用的是异步模式(非阻塞模式)阻塞模式具有以下几个比异步模式优越的特点:编程更简单,可以把所有处理SOCKET的代码放在一起,顺序执行,而不用分散在不同的事件处理代码段里。更容易在多线程程序里使用,由于阻塞模式的代码可以放在一起,可以很方便的把这些代码包裹在线程里面来使用,而不象异步模式,需要针对不同的事件,设置不同的处理代码。2.4Socket简介Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,最初是由美国加州Berkley大学提出,它定义两台计算机间进行通信的规范(也是一种编程规范),如果说两台计算机是利用一个“通道“进行通信,那么这个“通道“的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。对于应用程序来说,它就像一个服务协议插座一样,各种不同的协议,对应不同的端口。我们可以把套接字看作相应进程上的“门”:进程把消息发送到网络或从网络接受消息都得经过自身得套接字。当一个进程想给另一台主机中的另一个进程发送消息是,它就把该消息推出自家的门。该进程认定在这扇门的另一侧有一个传输设施会把这个消息传输到目的进程的门口。在服务器进程处于运行状态的情况下,客户进程就能够初始化一个到服务器的TCP连接了,这是通过在客户程序中创建一个套接字对象来完成的,当客户创建了它的套接字对象的时候,它详细说明了服务器进程的地址,也就是,服务器的IP地址和进程的端口号,一旦创建了套接字对象,客户端的TCP就发起一个三次握手,并建立一个和服务器的TCP连接,三次握手对客户和服务器程序来说是完全透明的。3系统设计与实现3.1系统架构局域网监控程序是一个C/S模式的软件,客户端(被监视电脑)运行server.exe后主动连接管理端(服务器),管理端响应连接通过一台主机对多个客户端进行监控操作。3.2系统设计3.2.1运行环境硬件系统:1.CPUP42.42.内存512M3.普通网卡操作系统:WindowsXP软件需求:Dehphi73.2.2模块功能在管理端有13个操作模块分别为允许关机,禁止关机,关机,重启,注销,锁屏,解锁,发送消息,查看屏幕,文件管理,进程管理,连接监视和退出程序。3.3主要模块设计原理3.3.1管理端界面设计主界面包含了对客户端的所有操作,大体由两部分组成,首先是显示栏,主要显示被监视电脑的电脑名称、IP地址还有使用的何种操作系统,利用Dehphi7自带的位于Win32控件版面的ListView列表视控件建立一个显示栏,这里需要把ViewStyle属性设置为vsReport,因为显示栏需要显示局域网所有连接的被监控电脑,所以必须以详细列表的方式显示,显示的信息可以分成多列。在ListView中添加3个列分别是电脑名称、IP地址、操作系统。再在form框体下方添加StatusBar组件用于显示连接是否成功和有几台被监视电脑在线。最后在form框体右侧添加13个SpeedButton,SpeedButton的Caption属性分别设为允许关机、禁止关机、重启、关机、注销、发送消息、查看屏幕、文件管理、进程管理、连接监视、锁定、解屏、退出程序。3.3.2通信模式设计思路服务器端和客户端之间的网络通信是实现各种功能的前提,管理端发送指令,客户端接收指令并响应。本设计利用Delphi7的网络通信组件INDY来建立客户端与管理端之间的TCP连接,主要用到了INDY的idTCPSe
本文标题:局域网监控程序的设计
链接地址:https://www.777doc.com/doc-4812523 .html