基于JAVA CS远程监控系统软件的实现
无需注册登录,支付后按照提示操作即可获取该资料.
摘 要
近年来,网络技术的不断发展,为远程监控技术的发展创造了条件。远程监控系统软件越来越受到人们的重视,其实用性也毋庸质疑。基于JAVA C/S远程监控系统软件突破了空间的限制,使用者不用亲临,在自己的电脑面前就能轻松的实现对被监控端机器的监控。本系统采用Java网络编程和JAVA图形编程实现。笔者在开发过程中将网络技术与远程监控理论基础相结合,实现了以下功能:能连续获得被监控端机器屏幕变化;实现被监控端硬盘文件的上传、下载;实现对鼠标、键盘的模拟;实现在远程机器上执行任意DOS命令;远程关机、远程重启计算机,方便了用户监视和操作被监控端机器。本系统从系统需求分析、概要设计、详细设计到具体的编码实现和后期的代码优化、功能测试都严格遵循了软件工程的思想。(所有权: 爱毕业设计网 www.2bysj.cn)
关键词:远程监控;Java Robot;屏幕截取;JAVA Socket
The Implementation of the Remote Control System Software Based on JAVA Technology and the C/S Mode
Abstract
In recent years, the continuous development of the Internet technology provides remote control technology with condition for its development. Without any suspicion to its practicability, people pay more and more attention to remote control Technology system software. Remote control technology system software based on Java technology and the c/s mode, breaks the restriction of space. The system adopts network programming and graphic programming with JAVA, and the users controlling the remote computer easily. In the process of research, the author united network programming and remote control theory together, which allows the system to successfully achieve the following functions: continuously obtaining the remote computer screen; uploading and downloading the document from the remote computer and the simulation of mouse and keyboard; controlling the remote machines to execute any DOS commands; turning off and restarting the computer. From the system requirements analyses, general design, coding and the code optimization, function testing, the remote control technology system strictly keeps to the ideas of software engineering.
Key words: Remote Control Technology; Java Robot; Screen Capture; JAVA Socket
远程监控软件一般分两个部分:一部分是客户端程序Client,另一部分是服务器端程序Server,由于本毕业设计的通信模块有别于传统的远程监控软件,在使用前需要将客户端程序安装到被监控端电脑上,将服务器端程序安装到主控端电脑上。
它的控制的过程是先在被监控端电脑上执行客户端程序,像一个普通的客户一样向主控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,接收主控端发送过来的远程控制命令,并对命令进行处理,最后将命令处理结果返回给主控端,我们称这种远程控制方式为基于远程服务的远程控制。通过远程监控软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);可以打开、关闭目标电脑的任意目录并实现资源共享;提取拨号网络及普通程序的密码;激活、中止远端程序进程;管理远端电脑的文件和文件夹;关闭或者重新启动远端电脑中的操作系统;修改Windows注册表;通过远端电脑上、下载文件和捕获音频、视频信号等。(所有权: 爱毕业设计网 www.2bysj.cn)
前面我们所说的是一台电脑对一台电脑的情况,其实,基于远程服务的远程控制最适合的模式是一对多,即利用远程监控软件,我们可以使用一台电脑监控多台电脑,这就使得我们不必为办公室的每一台电脑都安装一个调制解调器,而只需要利用办公室局域网的优势就可以轻松实现远程多点控制了。
在进行一台电脑对多台远端电脑进行控制时,我们发现,远程监控软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。这种一对多的连接方式在节省了调制解调器的同时,还使得网络的接入更加安全可靠,网络管理员也更易于管理局域网上的每一台电脑。
本文所论述的远程监控系统就是依照这种方式进行的。(所有权: 爱毕业设计网 www.2bysj.cn)
系统需求分析
系统功能需求
1.连续获得被控端机器屏幕变化。
2.实现被控端硬盘文件的上传、下载。
3.实现对鼠标、键盘的模拟。
4.实现在被控端机器上执行任意DOS命令。
5.远程关机、远程重启计算机。
其他需求
1.系统实用,界面操作简便。
2.被监控端自动隐藏运行。
被监控端将随电脑启动而自动运行,运行时默认无任何可见界面。
系统开发原理
本系统是利用类JAVA.awt.robot中的屏幕截取和鼠标、键盘自动控制功能,然后加上网络传输功能来完成来完成截屏和远程控制的。
系统运行概述
1.启动被监控端,打开指定的UDP端口号。用于读取命令。
2.被监控端读取命令(命令格式为ordername:port)ordername为命令名字,port为主控端打开的TCP端口。
3.接到主控端连接后,被监控端就对当前用户的桌面采用屏幕截取,然后发送给主控端。依被监控端设计的不同,可以设定屏幕截取的时间间隔,时间间隔短一点就可以获得连续屏幕变化了。
4.主控端在画布上对鼠标、键盘事件进行监听,被监控端重演主控端上的事件
5.主控端和被监控端读取和发送数据,分别来实现文件上传和下载。
6.在被监控端实现DOS命令的执行。(所有权: 爱毕业设计网 www.2bysj.cn)
系统的关键技术
系统使用的关键技术就是Java网络编程和Java图形编程。用Java网络编程实现主控端和被监控端的通讯(命令收发、数据传送),用JAVA图形编程完成主控端控制界面的编写。具体应用如下:
1.实现主控端(服务器)与被监控端(客户端)之间的通讯。
——用JAVA Socket来实现。
2.用JAVA采集事件,封装成消息,用于发送。
——在主控端机器上采集事件(一般只不过是键盘和鼠标的事件),然后封装成消息类传输到被监控端。
3.在被监控端上重演主控端的动作事件。
——在被监控端运行client端,接收消息,如果主控端有请求操作的消息,用Robot截下当前屏幕,传给主控端,主控端显示被监控端的屏幕,是一个位图;然后接收在这个位图上的鼠标事件和键盘事件,并把鼠标位置(位图上的坐标换算成对应的屏幕上的坐标)和键值送到被监控端上,在被监控端上重演同样的事件。
系统的开发平台
JDK1.5.0,Eclipse3.1,Windows XP Professional
目 录
1 引 言 1
1.1 远程监控的背景知识 1
1 2 远程监控软件的原理 2
2 系统需求分析及理论基础 3
2.1 系统需求分析 3
2.1.1 系统功能需求 3
2.1.2 其他需求 3
2.2 系统开发原理及关键技术 3
2.2.1 系统开发原理 3
2.2.2 系统运行概述 3
2.2.3 系统的关键技术 3
2.3 系统的开发平台 4
2.3.1 Eclipse介绍 4
(所有权: 爱毕业设计网 www.2bysj.cn)
2.3.2 JAVA语言 4
2.3.3 Jar命令 4
2.4 编程运行环境 6
3 远程监控系统系统设计 6
3.1 系统总体结构设计和分析 6
3.1.1 主控端的主要功能模块 7
3.1.2 被监控端的主要功能模块 7
3.2 程序流程及分析 7
3.2.1 被监控端启动流程 7
3.2.2 主控端启动流程 7
3.2.3 命令接收和处理流程 9
3.2.4 图形监视线程启动流程 9
3.2.5 远程控制流程 9
3.2.6 文件上传流程 10
4 系统主要模块设计和具体功能实现 11
4.1 系统主要模块设计 11
4.1.1 消息输入,命令处理结果显示模块 11
4.1.2 通信模块实现 11
4.1.3 命令处理模块 12
4.2 连续获得被监控端机器屏幕变化功能实现 12
4.2.1 比较几种屏幕截取方法 12
4.2.2 JAVA“屏幕照相机”的编写原理 12
4.2.3 JAVA“屏幕照相机”的实现 12
4.2.4 远程屏幕监控的实现 13
4.2.5 屏幕监视功能测试 15
5 系统运行及测试结果 15
5.1 测试方法 15
5.2 测试环境 16
5 3 系统运行实例 16
5.3.1 连续获得被监控端机器屏幕变化功能 16
5.3.2 实现被监控端硬盘文件的上传、下载 16
5.3.3 实现对鼠标、键盘的模拟 17
5.3.4 实现在被监控端机器上执行任意DOS命令 18
5.3.5 远程关机、远程重启计算机 18
结 论 19
参考文献 19
致 谢 20
声 明 21