前言:本站為你精心整理了JAVA CS遠程監(jiān)控系統(tǒng)軟件范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要
近年來,網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,為遠程監(jiān)控技術(shù)的發(fā)展創(chuàng)造了條件。遠程監(jiān)控系統(tǒng)軟件越來越受到人們的重視,其實用性也毋庸質(zhì)疑。基于JAVAC/S遠程監(jiān)控系統(tǒng)軟件突破了空間的限制,使用者不用親臨,在自己的電腦面前就能輕松的實現(xiàn)對被監(jiān)控端機器的監(jiān)控。本系統(tǒng)采用Java網(wǎng)絡(luò)編程和Java圖形編程實現(xiàn)。筆者在開發(fā)過程中將網(wǎng)絡(luò)技術(shù)與遠程監(jiān)控理論基礎(chǔ)相結(jié)合,實現(xiàn)了以下功能:能連續(xù)獲得被監(jiān)控端機器屏幕變化;實現(xiàn)被監(jiān)控端硬盤文件的上傳、下載;實現(xiàn)對鼠標、鍵盤的模擬;實現(xiàn)在遠程機器上執(zhí)行任意DOS命令;遠程關(guān)機、遠程重啟計算機,方便了用戶監(jiān)視和操作被監(jiān)控端機器。本系統(tǒng)從系統(tǒng)需求分析、概要設(shè)計、詳細設(shè)計到具體的編碼實現(xiàn)和后期的代碼優(yōu)化、功能測試都嚴格遵循了軟件工程的思想。
關(guān)鍵詞:遠程監(jiān)控;JavaRobot;屏幕截取;JavaSocket
系統(tǒng)需求分析及理論基礎(chǔ)
2.1系統(tǒng)需求分析
2.1.1系統(tǒng)功能需求
1.連續(xù)獲得被控端機器屏幕變化。
2.實現(xiàn)被控端硬盤文件的上傳、下載。
3.實現(xiàn)對鼠標、鍵盤的模擬。
4.實現(xiàn)在被控端機器上執(zhí)行任意DOS命令。
5.遠程關(guān)機、遠程重啟計算機。
2.1.2其他需求
1.系統(tǒng)實用,界面操作簡便。
2.被監(jiān)控端自動隱藏運行。
被監(jiān)控端將隨電腦啟動而自動運行,運行時默認無任何可見界面。
2.2系統(tǒng)開發(fā)原理及關(guān)鍵技術(shù)
2.2.1系統(tǒng)開發(fā)原理
本系統(tǒng)是利用類java.awt.robot中的屏幕截取和鼠標、鍵盤自動控制功能,然后加上網(wǎng)絡(luò)傳輸功能來完成來完成截屏和遠程控制的。
2.2.2系統(tǒng)運行概述
1.啟動被監(jiān)控端,打開指定的UDP端口號。用于讀取命令。
2.被監(jiān)控端讀取命令(命令格式為ordername:port)ordername為命令名字,port為主控端打開的TCP端口。
3.接到主控端連接后,被監(jiān)控端就對當(dāng)前用戶的桌面采用屏幕截取,然后發(fā)送給主控端。依被監(jiān)控端設(shè)計的不同,可以設(shè)定屏幕截取的時間間隔,時間間隔短一點就可以獲得連續(xù)屏幕變化了。
4.主控端在畫布上對鼠標、鍵盤事件進行監(jiān)聽,被監(jiān)控端重演主控端上的事件
5.主控端和被監(jiān)控端讀取和發(fā)送數(shù)據(jù),分別來實現(xiàn)文件上傳和下載。
6.在被監(jiān)控端實現(xiàn)DOS命令的執(zhí)行。
2.2.3系統(tǒng)的關(guān)鍵技術(shù)
系統(tǒng)使用的關(guān)鍵技術(shù)就是Java網(wǎng)絡(luò)編程和Java圖形編程。用Java網(wǎng)絡(luò)編程實現(xiàn)主控端和被監(jiān)控端的通訊(命令收發(fā)、數(shù)據(jù)傳送),用Java圖形編程完成主控端控制界面的編寫。具體應(yīng)用如下:
1.實現(xiàn)主控端(服務(wù)器)與被監(jiān)控端(客戶端)之間的通訊。
——用JavaSocket來實現(xiàn)。
2.用Java采集事件,封裝成消息,用于發(fā)送。
——在主控端機器上采集事件(一般只不過是鍵盤和鼠標的事件),然后封裝成消息類傳輸?shù)奖槐O(jiān)控端。
3.在被監(jiān)控端上重演主控端的動作事件。
——在被監(jiān)控端運行client端,接收消息,如果主控端有請求操作的消息,用Robot截下當(dāng)前屏幕,傳給主控端,主控端顯示被監(jiān)控端的屏幕,是一個位圖;然后接收在這個位圖上的鼠標事件和鍵盤事件,并把鼠標位置(位圖上的坐標換算成對應(yīng)的屏幕上的坐標)和鍵值送到被監(jiān)控端上,在被監(jiān)控端上重演同樣的事件。
2.3系統(tǒng)的開發(fā)平臺
JDK1.5.0,Eclipse3.1,WindowsXPProfessional
2.3.1Eclipse介紹
Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯(lián)盟,并由該聯(lián)盟負責(zé)這種工具的后續(xù)開發(fā)。集成開發(fā)環(huán)境(IDE)經(jīng)常將其應(yīng)用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助集成開發(fā)環(huán)境(IDE)克服目前的局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺。Eclipse允許在同一IDE中集成來自不同供應(yīng)商的工具,并實現(xiàn)了工具之間的互操作性,從而顯著改變了項目工作流程,使開發(fā)者可以專注在實際的嵌入式目標上。Eclipse為工具開發(fā)商提供了更好的靈活性,使他們能更好地控制自己的軟件技術(shù)。Eclipse是一個開放源代碼的項目,任何人都可以下載Eclipse的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。同時可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能,比如在現(xiàn)有的Java開發(fā)環(huán)境中加入Tomcat服務(wù)器插件??梢詿o限擴展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是Eclipse的潛力所在。.3.2Java語言
Java語言是SUN公司于1995年5月推出的新一代面向?qū)ο蟮挠嬎銠C通用編程語言,是繼WWW之后又一引起世界轟動的產(chǎn)品。Java語言的特點是跨平臺和強大的網(wǎng)絡(luò)編程功能。在Java語言誕生之前,Internet已存在,所以Java語言本身就封裝了大量進行網(wǎng)絡(luò)編程的類庫,使得網(wǎng)絡(luò)編程功能強大,同時又簡化了網(wǎng)絡(luò)編程的操作。因此利用Java語言可以開發(fā)出功能強大的網(wǎng)絡(luò)應(yīng)用程序。