计算机机房进程监控的设计与实现

时间:2024-03-09 点赞:50554 浏览:102563 作者原创标记本站原创

本文是一篇计算机论文范文,关于计算机方面硕士学位论文,关于计算机机房进程监控的设计与实现相关在职研究生毕业论文范文。适合计算机及进程及学生方面的的大学硕士和本科毕业论文以及计算机相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:计算机机房教学中加强学生上机行为的监控是提高教学效果的重要手段.介绍了学校机房进程监控所使用的一些关键技术、原理与实现的系统功能.

关 键 词:HOOK;Socket;进程监控

中图分类号:TP319文献标识码:A文章编号:16727800(2012)011007402

作者简介:宋文军(1981-),男,桂林电子科技大学计算机科学与工程学院硕士研究生,河池学院现代教育技术中心工程师,研究方向为计算机应用.

0引言

随着信息技术的不断发展,计算机的应用领域已经渗透到工作生活的各个方面.掌握一定的计算机知识和技能已经是对大学生的基本要求.高校很多专业已经开设了第二甚至第三门计算机课程.对计算机上机实训的需求也不断增加,高校公共计算机机房是计算机教学的重要场所,也是理论和实践相结合的教学平台,在学校教学过程中发挥着重要作用.由于计算机机房的特殊性,总有一部分学生在上机时做与上课无关的事情,如玩游戏、浏览网页、听音乐、聊天等.这些行为严重影响了上机和上课的效果,如何有效控制学生的上机行为是一个重要课题.本文实现了学生机进程监控功能,可以通过在教师端添加禁止运行的程序列表,应用后,所有被应用的学生端都无法运行禁止程序列表中的程序.

1关键技术

1.1Socket技术

要实现教师端与学生端的通信,必须使用Socket编程,Sockets(套接口)是一种网络编程接口,最早被称为伯克利套接口(BerkeleySockets).后被移植到其他系统,其Windows平台的版本称为Winsock.套接口是网络通信端点的一种抽象概念,它为用户提供了一种发送和接收数据的机制.利用Winsock提供的函数可以建立基于TCP或UDP通信,TCP是可靠的面向连接的通信,UDP是不可靠无连接的通信.本系统中采用基于TCP的通信模式.


1.2HOOKAPI技术

要使学生端的监控功能顺利实现,学生端自身必须有一定的自我保护功能,也就是学生端进程不能被人为结束掉.使用HOOKAPI技术可以有效地解决这一问题.我们知道在Windows操作系统中消息机制贯穿始终,钩子(HOOK)则可以用来监控系统中的消息,应用程序可以通过设置HOOK函数来监视指定窗口的某种消息,其所监视的窗口可以是其他进程所创建的.HOOK函数可以在消息到达目标代码前截获消息,并进行相应处理.而HOOKAPI就是指截获特定的进程或系统对某个API函数的调用,使得API的执行流程转向指定的代码.通过调用SetWindowsHookEx函数可以方便地安装或卸载钩子.

2原理与系统功能

本系统主要用于学校机房环境下控制学生的上机行为,为了便于教师对学生行为进行监控,程序分为教师端和学生端.教师端可以对全体的学生机进行程序监控设置,在教师端添加禁止运行的程序列表(主要是需要禁止的进程名称),在教师端应用后,列表被传送至学生端.学生端在收到列表后,将列表中的进程写入指定文件中.然后开始监控,监控的时候主要是针对当前运行的进程列表和被限制的进程列表进行比对,如果发现正在运行的进程中有被限制在被限制进程列表中,则直接结束相应进程,从而达到进程监控的目的.

经过上述分析,系统的主要功能包括:

(1)进程管理功能.主要实现被禁止程序列表中程序的添加和删除,该功能在教师端实现.

(2)进程监控功能.该功能在学生端实现,主要是定时监控学生端是否有禁止程序列表中的程序,如果发现,则自动结束进程.

(3)网络通信功能.主要实现被禁止程序列表从教师端传送至学生端,这里,教师端作为服务端接受学生端的连接请求,学生端发出连接请求.教师端与学生端建立连接之后,教师端向学生端发送数据,学生端根据数据进行监控.

3系统功能的实现

3.1网络通信功能

要实现教师端与学生端的通信,必须使用Socket编程,要实现对特定学生端的程序管理,必须在教师端显示已经连接的学生端列表,列表中可以显示计算机名和IP地址.

实现的原理是在初始化界面代码中使用CreateThread函数创建新线程,在新线程中进行初始化Winsock库、绑定本地IP和端口(Bind)、监听学生端请求(Listen)、接受学生端请求(Accept);其中Accept函数在一个无限循环中运行,每接受一个学生端连接请求就返回一个新的Socket保持通信并调用AddStu(SerSock,Seraddr),该函数调用一系列函数首先给该学生机连接所在列表控件行分配一个索引ID,然后将索引ID与Socket对应,接着创建一个新线程使用该Socket对应学生端发送获取计算机名和IP地址的命令,学生端收到相应信息后再发送至主窗体同时发送上线信息,则主窗口调用InsertItem函数和SetItemText函数将学生端的计算机名和IP地址显示在列表空间中.3.2进程管理功能

教师端与学生端建立连接后,必须将教师端指定的禁止程序列表发送至学生端.其过程是在教师端利用GetText函数获取列表框控件的内容,使用WinsockAPI的send方法,将内容发送到学生端.学生端在收到列表信息后负责将其写入文件.

3.3进程监控功能

进程监控功能是本系统的核心功能,其具体实现包含:查找符合条件进程、结束符合条件进程、学生端进程自我保护等几个模块.这些功能都在学生端实现.

(1)查找符合条件进程.查找符合条件的进程,主要是用CreateToolhelp32Snapshot函数获取当前运行的进程快照,Process32First函数和Process32Next函数获取遍历获取进程句柄,调用szExeFile获得进程名称,将获得进程名和禁止列表中的进程名都转化为大写(为方便比较),然后使用lstrcmp函数比较两者是否相等.

(2)结束指定进程.当找到被禁止进程后,先调用th32ProcessID成员获取进程的ID,然后调用OpenProcess函数获取进程句柄,再利用TerminateProcess函数强制结束进程.如果有进程不能结束则调用EnableDebugPrivilege函数提升学生端程序权限然后再进行相关操作.

(3)学生端进程自我保护.由于学生端进程本身容易被任务管理器结束,所以需要有一定的自我保护功能.强制结束进程实际上是调用TerminateProcess函数,由于TerminateProcess函数的参数是进程句柄,句柄对系统来说不是唯一的,所以HOOKTerminateProcess函数是不行的.由于进程ID可以唯一标示一个进程,所以可以在其结束进程前调用OpenProcess函数时检查其参数PROID是否为学生端进程ID,如果是将其拦截,从而实现进程自我保护功能.

相关论文

计算机网络流量监控的设计与实现

本文是一篇计算机论文范文,计算机方面有关毕业论文参考文献格式,关于计算机网络流量监控的设计与实现相关毕业论文题目范文。适合计算机及网。

计算机机房控制系统的设计

本文是一篇计算机论文范文,关于计算机类专科毕业论文开题报告,关于计算机机房控制系统的设计相关毕业论文题目范文。适合计算机及控制系统及。

计算机网络流量监控的设计

本文是一篇计算机论文范文,计算机有关本科论文开题报告,关于计算机网络流量监控的设计相关毕业论文范文。适合计算机及计算机网络及网络管理。

高湖水电站计算机监控系统设计

本文是一篇计算机论文范文,关于计算机类硕士学位论文,关于高湖水电站计算机监控系统设计相关本科论文范文。适合计算机及自动化及操作系统方。

开放式机房管理系统的设计

此文是一篇机房论文范文,关于机房论文范本,与开放式机房管理系统的设计相关硕士论文开题报告。适合不知如何写机房及学生及机器方面的行政管。

计算机机房的雷电防护

本文是一篇计算机论文范文,计算机方面有关毕业论文题目,关于计算机机房的雷电防护相关毕业论文范文。适合计算机及屏蔽及机房方面的的大学硕。

中职计算机机房教学之我见

为您写计算机毕业论文和职称论文提供计算机相关函授毕业论文范文,与中职计算机机房教学之我见相关论文范文文献,包括关于计算机及计算机教学。

计算机网络远程监控系统的应用

这是一篇关于计算机网络方面硕士毕业论文范文,与计算机网络远程监控系统的应用相关专科毕业论文开题报告。是程序设计专业与计算机网络及计。