实验室计算机局域网监控与管理系统设计研究

2023-01-05

1 系统总体设计

1.1 系统设计要求

计算机实验室是供大量学生上机实践教学的场所, 充分合理有效地利用实验室现有资源和提高所有学生计算机上机实践能力是实验室管理的根本目的。学生应该在系统的控制下按照上机课表安排准时上下机;在上机过程中对学生正在使用的软件进行监控检测, 以观察学生是否在玩游戏或使用其它给上机教学带来负面影响的软件;实验室管理员可根据实际的要求对实验室所有计算机进行远程控制 (如关机、强制下机或发布消息等) , 以实现对上机安排的临时调整。

作为一个典型的MIS (Management Information System, 管理信息系统) 系统, 计算机系统启动时加载本系统的客户端, 使系统处于锁定状态, 学生在客户端界面上输入账号和密码, 系统进行身份验证。上机开始后, 系统一方面定时检测学生是否开启游戏软件, 若检测到则警告学生并且将系统锁定;另一方面定时检查是否到了下机的时间, 如果下机时间到, 则将系统锁定, 并把学生的上机情况和机器状态信息写入本地数据库。系统锁定后, 学生不能再使用计算机, 从而达到自动下机和自动监控的目的, 不需要人工干预。

1.2 系统结构

系统按照C/S模式设计, 各个模块使用独立的程序实现, 易于系统扩充, 易于系统更新。各个模块按照面向对象的思想进行设计, 核心代码可以重用, 为系统的后续功能扩充带来方便。

(1) 客户端。这是实现监控管理的关键的部分, 安装在实验室学生使用的所有计算机上, 根据服务端传来的控制信息开放、锁定、关闭或重启计算机系统, 控制学生上下机。定时检测系统中正运行的程序, 以确定学生是否在玩游戏或开启了对上机教学有负面影响的程序。

(2) 服务端。系统的核心部分, 接收来自控制端的控制信息并对控制信息进行识别处理, 根据识别的结果向客户端发出控制信息, 实现管理员对实验室所有计算机的统一控制;向控制端发送整个系统的当前状态信息, 供管理员进行系统监视;转发客户端的当前监视结果到控制端, 让管理员知道学生是否在玩游戏;与其它的服务端通信, 实现分散于不同地方的实验室的管理。

(3) 控制端。安装在管理员的计算机上, 与服务端通信实现系统监视和各种远程控制。其主要功能是系统监控、远程控制和数据管理。

2 实时监控管理系统实现

系统采用C/S结构, 监控端由于需要进行大量数据处理, 需要在网络服务器上实现。系统基于Windows操作系统和TCP/IP网络协议, 软件开发工具为V C 6.0, 采用OOP的思想实现整个系统。

在实际应用中, 管理员不可能始终观察监控端的实时显示结果, 也无法同时对局域网内所有计算进进行监视, 因此, 系统将所有用户端的状态记录下来, 管理员可以随时对记录日志进行调阅和查询, 这样将实时监视和事后查询结合起来, 达到完全监控的目的。

为了实现对用户端软件使用情况的记录, 我们需要在监控系统中采用Hook (钩子) 技术。对于Windows操作系统, 当一个程序处于最前状态时, 进程可以得到系统的消息通知, 进而可以通过获取系统的当前时间来记录程序使用的时间, 默认的情况下不和其他进程发生关系, 从而避免进程意外错误对其他正常进程的影响。如何截获其他程序窗口变为最前的消息是需要解决的关键问题。为此, 我们利用了Hook技术来实现这种功能。

Hook是Windows系统中非常重要的系统接口, 用它可以截获并处理送给其他应用程序的消息, 来完成普通应用程序难以实现的功能。Hook可以监视系统或进程中的各种事件消息, 截获发往目标窗口的消息并进行处理。这样, 我们就可以在系统中安装自定义的Hook, 监视系统中特定事件的发生, 完成特定的功能。Hook的这种机制可以有效的应用于计算机监控系统。按照作用域, Hook可以分为局部和全局两种, 前者只截获本进程内的消息, 后者要将回调函数封装到动态链接库 (DLL) 中, 可供系统调用。本模块中安装了WH_SHELL和WH_CBT两种全局Hook, 前者当一个有窗口的程序运行的时候系统发出指定的消息, 后者当在不同的窗口之间进行切换的时候系统发出此消息。通过安装这两种Hook可以实现跟踪新运行的程序进而决定是否允许其运行, 通过计算两次窗口位于最前的时间可以得出前一个程序运行的时间。

Hook的安装是以进程内组件的形式来实现的, 通过该组件外部接口ILogHook, 被控端的监控程序可以安装和卸载两种Hook。通过该接口, 用户端程序可以完全控制Hook的运行过程以及被控端计算机所处于的状态, 进而可以真实地反映出被控端的实际运行情况。其具体流程如图1所示。

监控端通过向用户端程序发送获取指令, 可以获得用户端的操作日志, 然后根据预置的类型进行分类汇总统计。比如根据日志, 可以获知某一用户端运行软件的类型, 也可以对一定时间段内的工作时间、上网时间、游戏时间等进行统计, 实现可靠、高效的机房局域网计算机监控与管理。

3 结语

本文从机房局域网计算机管理的实际应用需求出发, 利用Windows操作系统的Hook技术实现了所有用户端软件使用情况的实时监控和日志记录, 本系统的成功设计与开发, 很大程度上实现了开放式计算机实验室的自动化监控管理, 降低了管理工作的难度与强度, 节约大量的人力和物力, 也方便了学生使用计算机, 提高了实验室管理水平。

摘要:本文描述了实验室计算机局域网监控与管理系统的设计原理、总体结构及关键部分的实现。通过先进的管理手段, 能够对局域网内所有计算机的软件应用情况、使用时间等内容进行实时的监控和自动记录。该系统采用了视窗操作系统中的特定技术和网络监控软件, 实现了计算机实验室可靠、高效的管理要求。

关键词:局域网,监控与管理,C/S结构

参考文献

[1] 钟少丹, 谢铮桂.计算机实验室管理网络化探索[J].现代计算机, 2006, 10.

[2] 汪平, 王铮.开放式计算机实验室监控管理系统的设计与实现[J].计算机与现代化, 2007 (11) .

[3] Anthonyjones, Jan Ohlund[著].杨合庆[译].Windows网络编程 (第2版) [M].北京:清华大学出版社, 2002.

[4] 高翔, 兰国斌.浅谈计算机实验室信息管理系统设计思路[J].科技文汇, 2007, 12.

上一篇:探究性学习在高中生物课堂的开展之我见下一篇:关于家庭宽带IPTV业务开展策略