基于JAVA实时监控远程控制系统设计和实现Word格式文档下载.docx
- 文档编号:20781980
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:66
- 大小:274.15KB
基于JAVA实时监控远程控制系统设计和实现Word格式文档下载.docx
《基于JAVA实时监控远程控制系统设计和实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于JAVA实时监控远程控制系统设计和实现Word格式文档下载.docx(66页珍藏版)》请在冰豆网上搜索。
关键词:
C/S模式;
Socket;
FTP;
直接控屏。
Abstract
Withthedevelopmentofnetworktechnologyandspeeding,theRemotetechnicalsupportgraduallywilloccupythemaintechnicalsupport.ThisarticleisbasedontheWindowsOSintheremotecontrolprocedure,andusestheWinSockAPItechnology.Thetechnologyandthemethodsusedintheremotecontrolhavecarriedonthefunctionprototypeleveldetailedexplaination,itwillbeveryeasilyunderstood.
First,ThisarticleintroducestheremotecontrolfoundationandthebasicconceptofSocketprogramming,Following,fromtheSocketestablishedtotheprocessfunctionmodule,itanalyzesonebyone,whichincludestheauto-boot,directly-controlling-screen,shutdownandsoon.Thethird,itemphasizedintroducedvariousfunctionsmodule,especiallytherealizationoftheFilemanagementandthedirect-screen-control.Finally,itintroducesthedesignrealizedandtheexperienceoftheprograms.
What’smore,thisarticleadoptstheFTPtechnicalintheFilemanagementmodel.ItestablishesaFTPclientintheServerside,andrunsaFTPserverintheClientside.Then,withthetransferringofthefileoperation,itsolvesthebasisfilemanagementproblem.Thiscausesthefilemanagementeasilybeingrealized!
Inthedirectly-controlling-screenmodule,theclientside’smainmissionistosendtherequestofcapturingserver’sscreenimagedatatotheserverandshowthescreenimagewhichtransmittedfromtheserverinlocaldemonstratesintime,theclientpromptlytransmitsthemouseeventtotheserverinthelocaldisplayimagemovementresponse;
Theserves’mainmissionistorespondtherequestoftheclientsideandcapturesthelocalscreenimageandsendittotheclientside,italsosendstheeventofthemouseandthekeyboardwhichclientsidetransmits.Thus,thelong-distancecomputerpositivegoverningscreenoperationhasrealized.
Keywords:
C/Smodule;
Socket;
FTP;
directly-controlling-screen/
引言…………………………………………………………………………3
1课题描述…………………………………………………………………5
1.1任务内容……………………………………………………………………5
1.2应完成内容…………………………………………………………………5
2系统分析……………………………………………………………………6
2.1系统功能分析…………………………………………………………………6
2.2系统软件模型…………………………………………………………………6
3相关技术………………………………………………………………7
3.1Socket的基本概念………………………………………………………7
3.1.1Socket引入……………………………………………………………7
3.1.2Socket的类型…………………………………………………………7
3.2基本套接字函数调用……………………………………………………8
3.2.1创建套接字………………………………………………………………8
3.2.2指定本机地址……………………………………………………………8
3.2.3建立套接字连接…………………………………………………………8
3.2.4监听连接………………………………………………………………9
3.2.5数据传输………………………………………………………………9
3.2.6关闭套接字………………………………………………………………10
3.3Windows系统的Socket编程……………………………………………10
3.3.1使用WinSockAPI………………………………………………………10
3.3.2使用数据报套接字………………………………………………………10
3.3.3使用流式套接字…………………………………………………………11
3.4Windows的消息系统…………………………………………………14
4C/S模式远程控制程序设计实现……………………………………17
4.1主要实现功能……………………………………………………………17
4.2客户端(监控端)设计实现…………………………………………………18
4.2.1添加主机………………………………………………………………19
4.2.2发送消息………………………………………………………………20
4.2.3监视屏幕………………………………………………………………20
4.2.4帮助…………………………………………………………………21
4.2.5注册……………………………………………………………………21
4.3服务器端(被监控端)设计实现…………………………………………23
4.3.1准备接受连接…………………………………………………………24
4.3.2自动运行和隐藏………………………………………………………25
4.3.3文件管理的实现…………………………………………………………26
4.3.3.1列文件目录清单………………………………………………………28
4.3.3.2查看文件内容…………………………………………………………29
4.3.3.3“文件传输”程序实现……………………………………………………29
4.3.4系统信息的获取及修改…………………………………………………29
4.3.5远程重启,关闭计算机的实现……………………………………………29
4.3.6键盘和鼠标的控制………………………………………………………32
4.3.7远程屏幕抓取的实现……………………………………………………37
4.3.8其他功能模块的实现……………………………………………………39
5总结与展望……………………………………………………………39
谢辞……………………………………………………………………………39
参考文献……………………………………………………………………39
附录…………………………………………………………………………40
引言:
网络在计算机世界里,越来越发挥着举足轻重的作用,很多单位、部门都建立了自己的内部网。
对于网络管理人员来说,在整个网络运行期间,希望能够实时的监控联网计算机的运行状态和进行一些相关操作;
希望能够传输文件;
希望能够防止病毒的蔓延、非法程序的拷贝、杜绝某些用户的越权或非法操作等。
为此,希望编写一个适合于自己所在局域网的通讯程序。
在此,本人使用VC6.0开发了一套能在局域网内的每台计算机进行实时监控的网络系统。
这也就是所谓的远程控制软件。
那什么是远程控制?
远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术,这里的远程不是字面意思的远距离,一般指通过网络控制远端电脑,不过,大多数时候我们所说的远程控制往往指在局域网中的远程控制而言。
当操作者使用主控端电脑控制被控端电脑时,就如同坐在被控端电脑的屏幕前一样,可以启动被控端电脑的应用程序,可以使用被控端电脑的文件资料,甚至可以利用被控端电脑的外部打印设备(打印机)和通信设备(调制解调器或者专线等)来进行打印和访问互联网,就像你利用遥控器遥控电视的音量、变换频道或者开关电视机一样。
不过,有一个概念需要明确,那就是主控端电脑只是将键盘和鼠标的指令传送给远程电脑,同时将被控端电脑的屏幕画面通过通信线路回传过来。
也就是说,我们控制被控端电脑进行操作似乎是在眼前的电脑上进行的,实质是在远程的电脑中实现的,不论打开文件,还是上网浏览、下载等都是存储在远程的被控端电脑中的。
电脑中的远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。
但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。
远程控制一般支持下面的这些网络方式:
LAN、WAN、拨号方式、互联网方式。
此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。
传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web页面以JAVA技术来控制远程电脑,这样可以实现不同操作系统下的远程控制,例如数技通科技有限公司在去年就推出了全球第一套基于中文JAVA的跨平台远程控制软件――易控。
远程控制软件一般分两个部分:
一部分是客户端程序Client,另一部分是服务器端程序Server,在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。
它的控制的过程一般是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行,我们称这种远程控制方式为基于远程服务的远程控制。
通过远程控制软件,我们可以进行很多方面的远程控制,包括获取目标电脑屏幕图像、窗口及进程列表;
记录并提取远端键盘事件(击键序列,即监视远端键盘输入的内容);
可以打开、关闭目标电脑的任意目录并实现资源共享;
提取拨号网络及普通程序的密码;
激活、中止远端程序进程;
管理远端电脑的文件和文件夹;
关闭或者重新启动远端电脑中的操作系统;
修改Windows注册表;
通过远端电脑上、下载文件和捕获音频、视频信号等。
前面所讲的是一台电脑对一台电脑的情况,其实,基于远程服务的远程控制最适合的模式是一对多,即利用远程控制软件,我们可以使用一台电脑控制多台电脑,这就不必为办公室的每一台电脑都安装一个调制解调器,而只需要利用办公室局域网的优势就可以轻松实现远程多点控制了。
在进行一台电脑对多台远端电脑进行控制时,远程控制软件似乎更像一个局域网的网络管理员,而提供远程控制的远程终端服务就像极了办公室局域网的延伸。
这种一对多的连接方式在节省了调制解调器的同时,还使得网络的接入更加安全可靠,网络管理员也更易于管理局域网上的每一台电脑。
远程控制具有一下优点:
便于用户能够在任何地方通过网络及时,快速的访问,控制自己的主机。
特别是对于网络管理员,技术服务人员来说,远程控制提供了一个便捷,高效的手段。
当然,远程控制软件是一把双刃剑,有优点就会有缺点,它存在比较严重的安全隐患。
一方面给用户和网络管理员工作带了很大的方便,另一方面也给一些居心不良者留下后门。
形成很多木马程序。
这就需要对软件在设计方面做一些安全考虑。
本软件就是基于此而设计开发的,能实现以下的基本的远程功能:
1),查看被控制端的文件目录清单;
2),查看被控制端的文件内容;
3),拷贝被控制端的文件到控制端;
4),强迫被控制端重新启动或关机;
5),修改被控制端的系统配置文件;
6),直接执行任何可执行命令,打开应用程序;
7),锁住(解锁)被控制端的屏幕,键盘和鼠标;
8),控制被控制端的屏幕,在本地直接操作被控制端计算机;
9),隐藏共享被控制端的硬盘;
10),同时可以做到被控端的服务器自动运行及隐藏等功能;
而且做了一些必要的安全性考虑。
1课题描述:
1.1任务内容
基于Windows的远程控制软件开发毕业设计的主要任务是要求做出从系统角度
计的远程控制模式,并制作相应实用软件。
采用服务器(Server),客户端(Client)模式,使用Socket编程的基本原理及Windows的消息系统。
实现基本的远程控制要求,界面新颖友好。
用VC开发!
要求:
1).远程控制模式架构,如基于主从模式;
2).远程控制功能实现,如开关机,远程监视;
3).远程控制安全考虑;
4).远程控制实现平台与技巧;
5).远程控制软件实现,要求至少能在两台电脑上正常运行;
6).界面新颖友好。
1.2应完成内容
11),补充:
做不好的话,会带来严重的安全隐患。
会给一些居心不良的人留下后面。
所以要同时做好相关的安全性考虑。
2系统分析
2.1系统功能分析
本程序是由客户端和服务器端两部分组成的。
而且需要客户端和服务器端同时运行相应的程序来实现的。
本软件要实现的基本功能可以简化如下:
第一步,服务器端运行相应的远程控制软件服务器程序,使服务器端的某个端口处于监听状态(本软件端口设置为4069)。
这样服务器端计算机就时刻处于监听远程计算机连接请求的状态。
第二步,当服务器端程序运行后,客户端在本地计算机中运行相应程序的客户端程序,运行这个客户端程序时,会指定一个要连接的服务器的IP地址和端口,(本软件初始化的服务器地址是192.168.0.6,端口:
4069),程序运行后,点击连接就会向所有的网络搜索指定的计算机了。
第三步,搜索到所指定的计算机后,客户端计算机就向服务器端指定的端口发送连接请求(本软件使用TCP连接),如果服务器端计算机同一端口处于监听状态,则服务器端接收客户端的连接请求,并根据设定的值向客户端发送接受请求确认信号,并同时向客户端发出登录成功信息确认对话框。
第四步,客户端输入登录信息并确认后,就会向服务器端发送,服务器端接收到客户端发来的用户信息后,就开始对客户端所输入的客户进行合法性确认,如果不符合登录条件,则拒绝用户的连接。
第五步,如果服务器端确认客户端所输入的用户符合服务器端计算机的条件,则服务器端允许客户端进行进一步的连接,这样,整个软件的连接过程就完成了。
2.2系统软件模型
在本软件设计中,采用典型的C/S结构,由客户端与服务端两部分构成。
客
户/服务器模式的最显著特点是非对等作用,即客户相对于服务器处于不平等的地
位,服务端提供服务,客户端提供请求。
结构如图2.1所示:
ServerClient
网络
服务响应
服务请求
图2.1
在设计客户端和服务器时,由于功能需求不同,我设计的客户端界面简单,面向对象,并且由相应的帮助文件,易于操作。
而服务器端主要实现控制功能实现。
而且不能让用户强行关闭,界面就简单,而且要做到隐藏。
其他详细的功能模块描述将在第四章具体功能模块实现中给予描述。
以下两章详细介绍了本程序的实现的基础和过程:
3相关技术
客户/服务器技术是当今比较流行与具有发展的技术之一。
以之构成的客户、服务器应用系统具有系统结构优化、资源利用率高、整体运算速度快的优点,因而得到了广泛的应用。
在WINDOWS应用程序中,处理实时通讯最常用到的还是MICROSOFT公司提供的WinSock控件。
3.1WinSock基本概念
网络客户/服务器模式的原理是一台主机提供服务(服务器),另一台主机接受服务(客户机)。
作为服务器的主机打开一个端口并进行监听,如果有客户机向服务器的这一端口提出连接请求,服务器上的相应程序就会自动运行,来应答客户机的请求。
而WinSock的正确使用,给设计者带来了极大的方便,使得各种应用程序能够在Windows环境下顺利进行各种网络通讯。
3.1.1Socket引入
20世纪80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大学Berkeley分校提供资金,让他们在UNIX操作系统下实现TCP/IP协议。
在这个项目中,研究人员为TCP/IP网络通信开发了一个应用程序接口(API)。
这个API就称为Socket接口。
今天,Socket接口是TCP/IP网络最通用的API,也是在Internet上进行应用开发最为通用的API。
实际上,Socket在计算机中提供了一个通信端口(套接口)。
通过这个端口,一台计算机可以与任何一台具有Socket接口的计算机通信。
通信的基础是套接口。
一个套接口是通信的一端,在这一端上可以找到与其对应的一个名字。
一个正在被使用的套接口都有它的类型和与其相关的进程,套接口存在于通信域中。
一个讨套接口通常和同一个域中的套接口交换数据(数据交换也可以穿越域的界限,单这时一定要执行某种解释程序)。
应用程序在网络上传输,接收的信息都通过这个套接口来实现。
在应用开发种就像使用文件句柄一样,可以对Socket句柄进行读写操作。
开始使用套接字编程之前,首先必须建立这些概念:
网间进程通讯,服务方式,客户机/服务器模式。
进程通信的概念最初来源与单机系统。
由于每个进程都在自己的地址范围内运行,为保证量相互通信的进程之间既互不干涉又能协调一致工作,操作系统为进程通信提供了相应设施,如UNIXBSD中的管道(Pipe)、命名管道(NamedPipe)和软中断信号(Signal)、UNIXSystemV的消息(Message)、共享存储区(SharedMemory)和信号量(Semaphore)等,但都仅限于用在本机进程之间的通信。
网间进程通信要解决的是不同计算机进程间的相互通信问题(可把同机进程通信看成是其中的一个特例)。
为此,首先要解决的是网间进程标识问题,同一计算机上,不同进程可以用进程号(ProcessID)作为唯一标识,但在网络环境下,各个计算机独立分配的进程号不能唯一的标识该进程。
例如,计算机甲赋予某进程号48,在乙计算机中也可以存在48号进程,因此,“48号进程”这句话就没有意义了。
其次,操作系统支持的网络协议众多,不同的协议的工作方式不同,地址格式也不一样,因此,网间进程通信还要解决多重协议的识别问题。
在网络分层结构中,各层之间是严格单向依赖的,各个层次的分工和协作集中体现在相邻层之间的界面上。
“服务”是描述相邻层之间关系的抽象概念,即网络中各层向紧邻上层提供的一组操作。
下层是服务提供者,上层是请求服务的用户。
服务的表现形式是原语(Primitive),如系统调用或库函数等。
系统调用是操作系统内核向网络应用程序或高层协议提供的服务原语。
在国际标准化组织(ISO)的术语中,网络层及其以下各层又称为通信子网,只是提供点到点的通信,没有程序或进程的概念。
而传输层实现的是“端到端”通信,引进网间进程通信概念,同时也要解决差错控制、流量控制、数据排序(报文排序)及连接管理等问题。
为此提供不同的服务方式:
面向连接(虚电路)的服务或无连接的服务。
面向连接服务是电话系统服务模式的抽象,即每一次完整的数据传输都要经过建立连接,使用连接及终止连接的过程。
在数据传输过程中,各数据分组不携带目的地址,而使用连接号(ConnectID)。
本质上,连接是一个管道,收发数据不但顺序一致,而且内容相同。
其中TCP协议就提供面向连接的虚电路。
无连接的服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送。
无连接服务不能保证分组的先后顺序,不进行分组出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 实时 监控 远程 控制系统 设计 实现