2024年5月11日发(作者:)

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

摘要:使用vs2010、svn等主要开发工具,设计并实现了基于C#的

UDP、TCP的远程桌面监控系统,该系统可以同时对多台计算机桌面

进行监视以及远程控制。本系统既可以在网吧或者实验室的局域网环

境下进行操作使用,也可以在广域网网络一般的计算机之间使用。

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

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个表。以下是数据库各表的详细设计。