基于C#的多机远程桌面监控系统设计与实现

时间:2022-09-05 06:47:14

基于C#的多机远程桌面监控系统设计与实现

摘要摘要:使用vs2010、svn等主要开发工具,设计并实现了基于C#的UDP、TCP的远程桌面监控系统,该系统可以同时对多台计算机桌面进行监视以及远程控制。本系统既可以在网吧或者实验室的局域网环境下进行操作使用,也可以在广域网网络一般的计算机之间使用。

关键词关键词:TCP;UDP;远程桌面;C#;远程控制

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

0引言

随着计算机网络技术与Internet的快速发展,以及现代光纤网络的普及,远程桌面的监视与控制软件已经被越来越多的用户使用。与其它的远程桌面软件相比,多机远程桌面系统不仅可以同时监视多台计算机桌面,而且可以同时控制多台计算机,并向计算机集群发送文件。这样使计算机资源得到了最大程度的共享和利用。

市面上的远程监视和控制软件,功能上往往相互分开,非常单一。常规的远程控制软件在功能和特点上与木马有非常多的相同点,一些正规的远程控制软件常常被病毒或者木马劫持,监控普通用户的电脑,破坏用户电脑的数据以及窃取用户帐号密码等信息。本系统在代码层采用加壳技术防止被反编译,被监控端信息透明公开,由于运行在.NET平台上也不易被病毒劫持,有效防止了杀毒软件的误杀误报。

远程桌面监视软件以及控制软件所使用的开发技术非常多,C#是微软公司2000年的一种在.NET框架下运行的高级程序设计语言,由于其可视化、简单易学、兼容性强等优点受到了很多软件开发者的重视,C#的开发集成开发环境Visual Studio功能强大,适用于个人或者团队开发,目前广泛应用于.NET平台上的各种程序语言开发以及非托管的VC等语言的软件系统开发中。本文以VS2010作为主要的开发工具,设计并实现了一个基于C#的UDP 、TCP远程桌面监视控制系统。

1系统需求分析

根据用户实际需求,多机远程桌面监控系统可分为服务器端程序和客户端程序。

1.1服务器端功能需求

主要包括7个主要功能模块:

(1)用户管理模块。对服务器端使用用户进行管理,主要包括添加用户、删除用户、查看用户信息、修改用户信息、管理用户使用权限、修改用户密码等。

(2)远程桌面模块。主要包括同时对一台或者多台计算机的桌面进行远程监视,可放大对某一台计算机桌面的监视。可以控制屏幕的传输速度,开始或暂停对一台或者多台计算机的监控。

(3)远程控制模块。可单独控制一台计算机,也可以同时控制多台计算机,对远程计算机的键盘鼠标事件进行控制。

(4)文件传输模块。可以查看远程计算机硬盘中的文件夹以及文件。可同时向一台或者多台计算机发送文件。

(5)通信模块。为远程桌面模块、远程控制模块、文件传输模块提供基层通信支持。

(6)日志模块。记录用户登录日志、记录客户端连接日志、记录监控日志、记录用户操作日志,符合权限的用户可以查看操作日志。

(7)数据库模块。存储服务端用户信息,验证管理用户登录、退出、用户权限、存取日志等信息。

系统服务器端功能需求模块如图1所示。

1.2客户端功能需求

客户端主要向服务端发送服务端需要的数据,和服务端进行通信。客户端包括7个主要的功能模块:

(1)客户端保护模块。保护客户端不会被意外终止。防止未有权限的用户结束客户端程序。

(2)远程桌面模块。对系统桌面进行截图,并发送到服务端。接收服务端发送过来的开始结束命令,开始截图或者停止截图。

图1系统服务端功能需求模块

(3)远程控制模块。接收服务器发送过来的控制命令,利用Win32Api接口对本地计算机进行相应操作。

(4)文件传送模块。为服务器端提供文件浏览、文件传送功能。

(5)通信模块。为其它模块提供基础通信支持,与服务器端进行通信。

(6)功能权限模块。设置服务器端可操作客户端的功能,控制操控权限。

(7)日志模块。记录远程桌面监控日志,以及客户端其它操作日志。

系统客户端功能需求模块如图2所示。

图2系统客户端功能需求模块系统设计

1.3系统总体设计

1.3.1总体架构

本系统作为一种功能型的软件系统,其架构必须适应用户需求的不断变化,而且应该层次清晰,各模块独立且不互相依赖,方便二次开发。系统总体架构设计如图3所示。

1.3.2设计思想

本系统采用了多层结构的设计思想,仿照网站架构的多层架构模式,使界面的核心层、逻辑层、数据传送层等全部独立,当某一层代码需要改变时,不会影响到其它层。如要更改远程桌面的控制代码,可不更改通信模块代码,这样使系统具有很好的灵活性和扩展性。

1.4系统主要类设计

系统充分利用了面向对象语言多态的特性,对系统中的主要功能函数都采用接口的方式进行了封装,并使用多个动态链接库进行封装,使系统二次开发或者更新时,减少人力和物力资源的浪费。图3系统总体架构设计

1.5数据库设计

根据服务器的功能模块划分以及系统功能需求设计,创建了一个名为TControlDB的数据库,它包含用户表(MUser)、角色表(MRole)、客户端信息表(MClient)共3个表。以下是数据库各表的详细设计。

上一篇:基于Multigen Creator的三维虚拟校园应用研究 下一篇:基于PCA—LDA与蚁群优化BP神经网络的人脸识别...