基于CS模式的簡論遠程控制系統(tǒng)控制端的設計_第1頁
基于CS模式的簡論遠程控制系統(tǒng)控制端的設計_第2頁
基于CS模式的簡論遠程控制系統(tǒng)控制端的設計_第3頁
基于CS模式的簡論遠程控制系統(tǒng)控制端的設計_第4頁
基于CS模式的簡論遠程控制系統(tǒng)控制端的設計_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、簡論遠程控制系統(tǒng)控制端的設計 摘摘 要要 隨著現(xiàn)今社會計算機的廣泛普及以及網(wǎng)絡的快速發(fā)展給遠程控制系統(tǒng)帶來 了廣闊的用武之地,人們可以通過簡單的終端機完全的控制網(wǎng)絡另一端的被控 機,從而完成強大的控制功能,獲取被控機的任何信息,這種方式被稱之為遠 程控制。 簡單遠程控制系統(tǒng)由主控端和被控端兩部分組成。主控端用于實施各種對 連網(wǎng)計算機的監(jiān)控操作,被控端對于接收到的數(shù)據(jù)進行分析,解釋并執(zhí)行。系 統(tǒng)主要可以實現(xiàn)獲取被控端信息、被控端系統(tǒng)控制、消息發(fā)送和被控端界面控 制的監(jiān)控功能。 本文對遠程控制系統(tǒng)原理和主要相關技術作了簡單介紹,在進行需求分析 之后,詳細描述了本系統(tǒng)的被控端的設計與實現(xiàn),最后表格形

2、式給出測試結果。 關鍵詞關鍵詞:遠程控制;C/S 模式;套接字;信息安全 Simple Remote Control System The Design of Controlled Terminal Abstract With the wide use of computer and the rapid development of network, the remote control system is used far and wide. Just through simple manipulate of the terminal, people can completely contr

3、ol the computer on the other side, including obtain the system information of the computer, and implement powerful functions. It is so-called remote control. The simple remote control system consists of two parts including controlling terminal and controlled terminal. We can monitor the controlled t

4、erminal and implement some operation about controlling the controlled terminal on the controlling monitor. The controlled terminal is used for analyzing, explaining and implement the received data. The system can implement the function of getting the information of controlled terminal, control contr

5、olled terminal, sending messages, controlling the screen of the controlled computer and so on. The paper simply introduces the theory of remote control and the main technology. After the analysis, it describes the design and implement of the controlled terminal. At last, it shows the result in form

6、of figures. Key words: Remote control; Client/Server mode; Socket; Information security 目目 錄錄 論文總頁數(shù):18 頁 1 引言 .1 1.1 本課題的研究背景和意義.1 1.2 國內(nèi)外研究現(xiàn)狀.1 1.3 本課題的主要研究的內(nèi)容.2 1.4 作者的主要工作.2 2 簡單遠程控制系統(tǒng)相關理論研究 .2 2.1 遠程控制系統(tǒng)概述.2 2.2 因特網(wǎng)協(xié)議.3 2.3 客戶/服務起模.3 2.4 SOCKET的引入 .3 2.5 WINSOCK控件 .4 2.6 TIMER控件介紹 .4 3 簡單遠程控制系統(tǒng)總

7、體結構 .5 3.1 系統(tǒng)規(guī)格說明.5 3.1.1 簡單遠程控制系統(tǒng)的概貌.5 3.1.2 各模塊功能要求.5 3.1.3 性能要求.5 3.1.4 運行要求.6 3.2 數(shù)據(jù)要求.6 3.3 用戶系統(tǒng)描述.6 4 簡單遠程控制系統(tǒng)的功能模塊的設計.6 4.1 簡單遠程控制系統(tǒng)的主體設計.6 4.2 簡單遠程控制系統(tǒng)的系統(tǒng)功能的實現(xiàn).7 5 簡單遠程控制系統(tǒng)功能模塊的編程及實現(xiàn).7 5.1 簡單遠程控制的連接功能實現(xiàn).8 5.2 簡單遠程控制的被控端系統(tǒng)控制的實現(xiàn).9 5.3 簡單遠程控制的向被控端發(fā)送消息的實現(xiàn).10 5.4 簡單遠程控制的被控端界面控制的實現(xiàn).11 5.5 簡單遠程控制功能

8、實現(xiàn)流程.13 6 測試 .13 6.1 測試環(huán)境.13 6.2 測試過程以及結果.13 結 論.14 參考文獻.16 1 1 引言引言 1.11.1 本課題的研究背景本課題的研究背景和意義和意義 隨著社會、科技、經(jīng)濟的不斷發(fā)展,遠程控制技術的應用范圍也在不斷拓 展,從最初銀行、軍事、機要部門等特殊行業(yè)領域的應用已經(jīng)延伸到了今天的 電業(yè)部門、商業(yè)部門、普通工礦企業(yè)、道路交通領域、學校教學應用、衛(wèi)生醫(yī) 療部門以及賓館酒店行業(yè)等等,其卓越的功能也日益受到各個應用行業(yè)的重視 和青睞,但是許多遠程監(jiān)控軟件都需要配有硬件設備,這不僅使得實際應用的 成本升高,而且也使實施應用增加了技術障礙。雖然有諸多問題

9、的存在,但是 我們應該認識到遠程控制技術的研究,不僅充分利用了現(xiàn)有資源,拓寬了因特 網(wǎng)的利用范圍,而且也使遠程控制能夠減少成本擴大遠程化距離,實現(xiàn)任意節(jié) 點的訪問機制,并進入一般的應用領域,比如,進入家庭,人們通過因特網(wǎng)控 制家用電器,采用因特網(wǎng)作為遠程控制平臺,是一項很有前途和潛力的技術, 另外它可以應用到設備遠程診斷、遠程監(jiān)測、遙控等領域。 因特網(wǎng)的出現(xiàn)及其發(fā)展推動了科學技術的各個方面,并使之取得了巨大的 進步,利用因特網(wǎng),可以使遠程控制技術得到大范圍的應用,從而方便人們的 生活。 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀 目前,基于因特網(wǎng)的遠程控制國內(nèi)外都有不同程度的研究。相對來說,由

10、 于西方國家在信息技術和計算機控制技術的發(fā)展上的優(yōu)勢,他們在研究遠程控 制方面相對早些,而且有些公司有相關的初級產(chǎn)品問世。國內(nèi)由于因特網(wǎng)的飛 速發(fā)展,近幾年也開始積極的研究。國內(nèi)外在基于因特網(wǎng)的遠程機器人控制方 面的研究相對其他領域要多一些。例如美國伯克立大學研制的是一個通過因特 網(wǎng)遠程控制的種植花草 工業(yè)機器人手臂。擁護通過機器人手臂上的攝像機所傳 輸?shù)膱D像,對這個花園內(nèi)進行簡單的操作。 這些基于因特網(wǎng)的遠程控制系統(tǒng)普遍采用了客戶/服務器網(wǎng)絡模型,現(xiàn)場采 用攝像機來監(jiān)視,并通過網(wǎng)絡發(fā)出指令。當前,由于網(wǎng)絡基礎設施還不夠完善, 所以監(jiān)視圖像由于數(shù)據(jù)量大,其傳輸時間過長。即使是采用了數(shù)據(jù)壓縮技術

11、, 也仍然有很大的數(shù)據(jù)量需要傳輸,因而由此產(chǎn)生的遠程控制時間延遲也必然很 大。此外,這類系統(tǒng)普遍采用瘦客戶/肥服務器的網(wǎng)絡模型,監(jiān)控端的控制操作 功能過于簡單,都只是發(fā)一些簡單的指令,而不能實現(xiàn)一些復雜的必要的邏輯 處理功能。第三,這類系統(tǒng)在處理上由于時間延遲影響現(xiàn)場控制系統(tǒng)不穩(wěn)定時, 仍然采用的執(zhí)行-等待-執(zhí)行-等待的單步執(zhí)行流程,生產(chǎn)設備運行效率相當?shù)拖拢?第四,大量的采用以圖像監(jiān)視為主的方式,雖然可以使得監(jiān)控人員更能直觀的 感受到現(xiàn)場情況,便與監(jiān)控人員的控制;但是我們應該注意到,有些設備的被 監(jiān)控狀態(tài)是難以用圖像方式表示出來的,比如溫度、速度、壓力這類精確的數(shù) 值量;此外有些采用圖像傳輸

12、的數(shù)據(jù)量也可以采用通過數(shù)據(jù)傳輸關鍵數(shù)據(jù)以在 監(jiān)控端進行實況模擬圖,這樣就會減少數(shù)據(jù)量,而使數(shù)據(jù)傳輸速度大大提高。 1.31.3 本課題的本課題的主要研究的內(nèi)容主要研究的內(nèi)容 遠程控制是一個具有重要的研究價值的課題,它在工業(yè),國防等各個方面 有著廣泛的需求。然而,使用傳統(tǒng)的方式,由于成本、技術、維護、傳輸距離 等方面的問題,遠程控制并沒有很好的推廣和利用。先進由于因特網(wǎng)的出現(xiàn), 使得成本低廉的遠距離通信輕易的變成了現(xiàn)實。于是采用因特網(wǎng)作為遠程控制 平臺,將遠程控制的狀態(tài)、命令等控制數(shù)據(jù)和信息通過因特網(wǎng)傳輸。既減少了 開發(fā)成本、也增加遠程控制的靈活性,人們也不必再為了實現(xiàn)一個臨時的遠程 控制,而需

13、要重建一套遠程控制系統(tǒng)。 本課題的研究主要內(nèi)容主要包括以下幾個方面: 1.簡單遠程控制系統(tǒng)相關理論研究 2.簡單遠程控制系統(tǒng)總體結構 3.簡單遠程控制系統(tǒng)的功能模塊的設計 4.簡單遠程控制系統(tǒng)功能模塊的編程實現(xiàn) 1.41.4 作者的主要工作作者的主要工作 該系統(tǒng)軟件是本人與宣琳同學共同研究開發(fā)的,宣琳同學主要負責主控端 和部分被控端(獲取被控端信息)的設計與開發(fā),本人主要負責被控端的設計 與開發(fā)。 本人在系統(tǒng)開發(fā)中的具體工作: 1.搜尋與系統(tǒng)開發(fā)相關的資料,熟悉 VB 開發(fā)語言。 2.完成被控端與主控端的連接。 3.完成被控端模塊的程序代碼。 4.與宣琳同學一起對系統(tǒng)進行調(diào)試和測試。 5.歸并

14、相關系統(tǒng)開發(fā)文檔,完成畢業(yè)論文的撰寫。 2 2 簡單遠程控制系統(tǒng)相關理論研究簡單遠程控制系統(tǒng)相關理論研究 本系統(tǒng)采用 C/S 工作模式,由主控端和被控端兩部分組成,被控端作為客 戶端運行在目標計算機上,接收指令,根據(jù)指令執(zhí)行相應的操作;主控端運行 在用戶計算機向被控端發(fā)送指令。編碼上是利用 VB 進行 Socket 網(wǎng)絡編程,使 用 Microsoft Visual Basic 6.0 進行編譯。 2.12.1 遠程控制系統(tǒng)概述遠程控制系統(tǒng)概述 遠程控制系統(tǒng)是以通信技術為基礎的一門先進技術。正是由于通信技術的 發(fā)展使得遠程控制技術得到快速的發(fā)展。所有的遠程控制系統(tǒng)幾乎都可以無一 例外的劃分為:

15、被控端(主要負責控制過程的實施) 、網(wǎng)絡、主控端(借助遠程 數(shù)據(jù)訪問控制過程,進行控制) 、三個子系統(tǒng)的構成。各部分分工協(xié)作,共同實 現(xiàn)對設備的遠程控制。 2.22.2 因特網(wǎng)協(xié)議因特網(wǎng)協(xié)議 TCP/IP(傳輸控制協(xié)議/因特網(wǎng)協(xié)議)是建議在因特網(wǎng)的基礎上。因特網(wǎng)上 的計算機通過互相發(fā)送信息分組進行通信,這種信息分組由成塊的數(shù)據(jù)、特定 的控制信息和尋址信息組成??刂坪蛯ぶ沸畔⒂脕泶_保信息包到達目的地,并 夠能被收信主機重新組成可以使用的計算機數(shù)據(jù)。這種信息傳遞方式是由 TCP/IP 協(xié)議所規(guī)定的。因此,TCP/IP 是互聯(lián)網(wǎng)的“通信語言” 。TCP/IP 協(xié)議中 規(guī)定了信息包應該怎樣分層、分組,

16、怎樣在收信計算機上將信息分組重新裝成 計算機數(shù)據(jù),怎樣在線路上傳輸信號,以及許多其他有關的問題,如不同的層 次上的信息分組需要不同的軟件和硬件支持,以便他們在不同的網(wǎng)絡和通信線 路上發(fā)送和接收信息。IP 的一個主要工作是路由選擇,即在網(wǎng)絡中引導數(shù)據(jù)包 的過程。TCP 負責轉(zhuǎn)換級處理,在一個連接的每一端給每個發(fā)送的數(shù)據(jù)包分配 一個順序號,每個計算機都跟蹤記錄它已發(fā)送或者接收到的數(shù)據(jù)包順序號。 TCP/IP 協(xié)議模型由四層組成,分別是應用層、傳輸層、網(wǎng)絡層、網(wǎng)絡接口層。 2.32.3 客戶客戶/ /服務起模服務起模 客戶/服務起模型是常用的設計網(wǎng)絡模型,網(wǎng)絡通信要在兩臺計算機或互相 對話的兩個程序

17、之間建立網(wǎng)絡連接,網(wǎng)絡連接包括通信進程的兩端以及它們之 間的通道。 客戶/服務起模型將網(wǎng)絡應用程序分為兩部分:客戶部分和服務器部分。網(wǎng) 絡連接的客戶放請求連接,服務器方提供服務和信息。連接的服務器方對客戶 的請求做出響應,也就是說,在客戶/服務起模型中,網(wǎng)絡應用程序完成兩個獨 立的和定義好的功能:請求信息和對請求信息做出響應。請求信息是客戶方應 用程序,對請求信息做出響應的程序充當服務器程序。 2.42.4 Socket 的引入的引入 在遠程控制軟件中,對于主控機和受控機進行的數(shù)據(jù)通信所使用的主要技 術就是網(wǎng)絡編程技術和系統(tǒng)編程技術。 隨著計算機網(wǎng)絡技術的發(fā)展 TCP/IP 協(xié)議,被集成到操作

18、系統(tǒng)內(nèi)核中時,相 當于在操作系統(tǒng)中引入了一種新型的輸入/輸出操作,操作系統(tǒng)擁護進程與網(wǎng)絡 的交互作用比用戶進程與傳統(tǒng)的輸入/輸出設備互相作用復雜的多。首先,進行 網(wǎng)絡操作的兩個進程不在同機器上,如何建立它們之間的聯(lián)系?其次,有很多 種網(wǎng)絡協(xié)議,如何建立一種通用機制以支持多種協(xié)議?這些都是網(wǎng)絡應用變成 所要解決的問題。 20 世紀 80 年代初,美國政府的高級研究工程機構 ARPA 給加利福尼亞大 學 BERKELEY 分校提供了獎金,讓他們在 UNIX 操作系統(tǒng)下實現(xiàn) TCP/IP 協(xié)議。 在這個項目中,研究人員為 TCP/IP 網(wǎng)絡通信開發(fā)了一個應用程序接口 API。這 個 API 就稱為

19、SOCKET(套接字)接口,今天 SOCKET 接口是 TCP/IP 網(wǎng)絡最 為通用的 API,也是在 INTERNET 上進行應用開發(fā)最為通用的 API。 2.52.5 Winsock 控件控件 Winsock 控件對用戶來說是不可見的,它提供了訪問 TCP 和 UDP 網(wǎng)絡 服務的方便途徑。Microsoft Access、Visual Basic、Visual C+ 或 Visual FoxPro 的開發(fā)人員都可使用它。為編寫客戶或服務器應用程序,不必了解 TCP 的細 節(jié)或調(diào)用低級的 Winsock APIs。通過設置控件的屬性并調(diào)用其方法就可輕易連 接到一臺遠程機器上去,并且還可雙向

20、交換數(shù)據(jù)。 TCP 基礎: 數(shù)據(jù)傳輸協(xié)議允許創(chuàng)建和維護與遠程計算機的連接。連接兩臺計算機就可 彼此進行數(shù)據(jù)傳輸。 如果創(chuàng)建客戶應用程序,就必須知道服務器計算機名或者 IP 地址 (RemoteHost 屬性) ,還要知道進行“偵聽”的端口(RemotePort 屬性) ,然后 調(diào)用 Connect 方法。 如果創(chuàng)建服務器應用程序,就應設置一個收聽端口(LocalPort 屬性)并調(diào) 用 Listen 方法。當客戶計算機需要連接時就會發(fā)生 ConnectionRequest 事件。 為了完成連接,可調(diào)用 ConnectionRequest 事件內(nèi)的 Accept 方法。 建立連接后,任何一方計算

21、機都可以收發(fā)數(shù)據(jù)。為了發(fā)送數(shù)據(jù),可調(diào)用 SendData 方法。當接收數(shù)據(jù)時會發(fā)生 DataArriva 事件。調(diào)用 DataArrival 事件內(nèi) 的 GetData 方法就可獲取數(shù)據(jù)。 UDP 基礎: 用戶數(shù)據(jù)文報協(xié)議(UDP)是一個無連接協(xié)議。跟 TCP 的操作不同,計算機 并不建立連接。另外 UDP 應用程序可以是客戶機,也可以是服務器。 為了傳輸數(shù)據(jù),首先要設置客戶計算機的 LocalPort 屬性。然后,服務器計 算機只需將 Remote Host 設置為客戶計算機的 Internet 地址,并將 RemotePort 屬性設置為跟客戶計算機的 LocalPort 屬性相同的端口,

22、并調(diào)用 SendData 方法 來著手發(fā)送信息。于是,客戶計算機使用 DataArrival 事件內(nèi)的 GetData 方法來 獲取已發(fā)送的信息。 2.62.6 Timer 控件介紹控件介紹 Timer(時鐘)控件響應時間的流逝。它們獨立于用戶,編程后可用來在一 定的時間間隔執(zhí)行操作。此控件一般用處是檢查系統(tǒng)時鐘,判斷是否執(zhí)行某項 任務。對于其它后臺處理,Timer 空間也是非常有用的。 3 3 簡單遠程控制系統(tǒng)總體結構簡單遠程控制系統(tǒng)總體結構 3.13.1 系統(tǒng)規(guī)格說明系統(tǒng)規(guī)格說明 3.1.1 簡單遠程控制系統(tǒng)的概貌簡單遠程控制系統(tǒng)的概貌 “簡單遠程控制系統(tǒng)的設計與實現(xiàn)”主要包含兩個部分:主

23、控端和被控端。 主控端是運行在用戶計算機上的一個程序,該端主要實現(xiàn)對被控端的控制,以 實現(xiàn)對被控計算機關機、注銷、重起以及向被控端發(fā)送消息等功能。 被控端是運行在目標計算機(被控計算機)上的一個程序,以提供該計算 機的各種信息,以及實現(xiàn)主控端對其執(zhí)行的各種操作。 3.1.2 各模塊功能要求各模塊功能要求 本系統(tǒng)在功能要求上主要實現(xiàn)的功能有:主控端獲取被控端計算機系統(tǒng)信 息、對被控端界面的控制、對被控端的系統(tǒng)控制以及對向被控端發(fā)送消息。 1.主控端獲取被控端系統(tǒng)信息。此模塊的主要功能是主控端能通過此功能 了解到被控計算機上的系統(tǒng)信息,為后面進一步的對被控端進行控制作一個簡 單的了解,也同時通過此

24、功能對被控計算機上所安裝的軟、硬件進行了解,做 到對被控計算機的了解程度跟了解本機一樣。 2.對被控端的界面控制。此模塊主要實現(xiàn)主控端對被控計算機的用戶界面 的控制,包括對開始按鈕的隱藏以及顯示、任務欄的隱藏以及顯示和桌面圖標 的隱藏和顯示功能。 3.對被控端的系統(tǒng)控制。此模塊主要實現(xiàn)對被控計算機的機器系統(tǒng)的控制, 包括對被控計算機實施關閉計算機、重新啟動被控端計算機以及注銷被控端計 算機目前使用的用戶功能。做到使主控端用戶在主控計算機上就能很容易的控 制被控計算機的系統(tǒng)。 4.向被控端發(fā)送信息。此模塊主要實現(xiàn)主控計算機向被控計算機發(fā)送文字 性消息的功能,有了此功能模塊的建立,主控端用戶可以在

25、本機上向被控端用 戶傳遞信息和發(fā)送消息,做到了主控端的用戶與被控端用戶的聯(lián)系。 3.1.33.1.3 性能要求性能要求 主控端界面應當簡單、友好、方便使用和操作;被控端是用作運行在被控 計算機內(nèi)的可執(zhí)行文件,為提高執(zhí)行速度,從客戶端發(fā)送到服務端的信息應盡 量的少。主控端與被控端之間通過使用 TCP 協(xié)議建立連接,以實現(xiàn)對被控計算 機的控制。 3.1.43.1.4 運行要求運行要求 設計出的簡單遠程控制軟件應當在現(xiàn)在使用的大量操作系統(tǒng)上都能運行。 例如:Windows 2000、Windows XP、Windows 2003;能在較低的硬件配置上運 行,如 128M 的內(nèi)存,AMD 1800+的

26、處理器。 3.23.2 數(shù)據(jù)要求數(shù)據(jù)要求 簡單遠程控制系統(tǒng)的結構中,主控端是相當于一個系統(tǒng)的前臺,為用戶提 供了一個操作界面,而幾乎所有的操作都是在被控端這個后臺處理程序運行的, 被控端界面提供的操作可分為連接、動作、和信息三個模塊。連接模塊是在被 控端運行的,動作模塊作為遠程控制系統(tǒng)的核心,是在主控端運行實現(xiàn)的。 3.33.3 用戶系統(tǒng)描述用戶系統(tǒng)描述 首先設置主控計算機為主控端,主控端顯示為監(jiān)聽狀態(tài),被控端通過輸入 主控計算機的 IP 地址點擊連接主控端。被控端連接成功后,主控端顯示為連接 狀態(tài),主控端便可以對被控計算機實現(xiàn)各種操作。每次操作成功后都會在主控 端計算機上顯示相應的提示信息。

27、 4 4 簡單遠程控制系統(tǒng)的簡單遠程控制系統(tǒng)的功能模塊的設計功能模塊的設計 4.14.1 簡單遠程控制系統(tǒng)的主體設計簡單遠程控制系統(tǒng)的主體設計 被控端窗口設計為輸入主控計算機 IP 地址,連接主控端計算機的窗口,連 接成功后自動進入托盤中,使被控計算機桌面很潔凈,也體現(xiàn)出一些隱藏性。 主控端窗口設計為對被控端的各種控制按鈕的界面,當被控端與主控端連 接成功后在被控端顯示連接成功對話框,提示用戶連接成功后,用戶通過點擊 界面上的按鈕便很容易的實現(xiàn)對被控計算機的各種控制。其體統(tǒng)結構圖如圖 1 所示: 圖 1 簡單遠程控制系統(tǒng)結構圖 4.24.2 簡單遠程控制系統(tǒng)的系統(tǒng)功能簡單遠程控制系統(tǒng)的系統(tǒng)功能

28、的實現(xiàn)的實現(xiàn) 簡單遠程控制通信系統(tǒng)的各類控制指令數(shù)據(jù)傳輸采用的是因特網(wǎng)通道,控 制質(zhì)量數(shù)據(jù)傳輸是基于因特網(wǎng)遠程控制系統(tǒng)的關鍵。我們主要以 TCP/IP 協(xié)議上 的通信為基礎,使用 C/S 模型來解決控制數(shù)據(jù)的通信問題。我們在通信系統(tǒng)上 的設計是采用 WINSOCK,我們按客戶/服務器模型來設計基于因特網(wǎng)的遠程控 制指令數(shù)據(jù)通信技術。WINSOCK 通信系統(tǒng)采用的控制模式有兩種方式,一個 是多對一,即多個客戶可以同時向服務器請求服務,而服務器也能夠同時對這 些請求給予相信處理。服務器負責控制控制質(zhì)量的接受和處理。而客戶則是控 制指令數(shù)據(jù)的發(fā)送和狀態(tài)數(shù)據(jù)的接受和顯示,另一個一對多,既一個客戶可以

29、同時向多個服務器發(fā)送請求服務,而服務器也能夠?qū)@些請求給予相信處理。 服務器負責控制控制指令的接受和處理,而客戶則是控制指令的發(fā)送和狀態(tài)數(shù) 據(jù)的接受和顯示。主控端與被控端的連接的系統(tǒng)結構圖如圖 2 所示: 圖 2 功能結構層次圖 5 5 簡單遠程控制系統(tǒng)簡單遠程控制系統(tǒng)功能模塊的編程及實現(xiàn)功能模塊的編程及實現(xiàn) 以上介紹了遠程控制軟件編寫的一些理論基礎,下面介紹一下我們編寫的 一款遠程控制軟件所實現(xiàn)的功能,并對其所編程原理進行了剖析。這款軟件同 大多數(shù)遠程控制軟件一樣有兩部分組成:包含 server.exe 和 client.exe 兩個程序, server.exe 是服務程序,是安裝在與你聯(lián)網(wǎng)

30、的電腦里(就是被維護或者被控制的 電腦) ,如果要進行控制,就必須在對方的電腦里運行 server.exe;client.exe 是 客戶端程序,安裝在你自己的電腦里,如果要對對方電腦進行控制時,就啟動 客戶程序,并可以通過 client.exe 程序界面的彩旦控制裝有 server.exe 程序的電 腦(就是被維護或者被控制的電腦) 。 5.15.1 簡單遠程控制的連接功能實現(xiàn)簡單遠程控制的連接功能實現(xiàn) 5.25.2 簡單遠程控制的被控端系統(tǒng)控制的實現(xiàn)簡單遠程控制的被控端系統(tǒng)控制的實現(xiàn) 本系統(tǒng)在此模塊中設計為當主控端把控制指令(關機、重起、注銷)數(shù)據(jù) 發(fā)送給被控端后,被控端接收到這些指令,則

31、進行相應的操作。一般說來如果 被控端收到這些指令則調(diào)用相應的 API 函數(shù)。在使用界面上運用了選項按鈕控 件 OPTIONBUTTON,在主控端程序中使用了程序控制結構語句 IfThenElse,應用程序中可以經(jīng)過條件表達式的測試,并根據(jù)測試結果為 TRUE 和 FALSE 來決定程序運行的方向,只有當滿足 TURE 條件時才會進行下 個程序流程,否則執(zhí)行另一個程序流程。例如當主控端測試結果為 REBOOT 時, 主控端向被控端發(fā)送參數(shù) EWX_REBOOT,被控端根據(jù)參數(shù)調(diào)用 CALL SHELL()函 數(shù)并觸發(fā)事件過程重起被控端計算機。 Shell 函數(shù)是 VB 中的內(nèi)部函數(shù),它負責執(zhí)行一

32、個可執(zhí)行文件,返回一個 Variant(Double),如果成功的話,代表這個程序的進程 ID,若不成功,則會返 回 0。 Shell 的語法:Shell(PathName,WindowStyle)。 PathName 為必需參數(shù)。類型為 String,它指出了要執(zhí)行的程序名,以及任 何需要的參數(shù)或命令行變量,也可以包括路徑名。 WindowStyle 為可選參數(shù)。Integer 類型,指定在程序運行時窗口的樣式。 WindowStyle 的常量、值的描述如以下這些值: VbHide 0 窗口被隱藏,且焦點會移到隱式窗口。 VbNormalFocus1 窗口具有焦點,且會還原到它原來的大小和位

33、置。 VbMinimizedFocus2 窗口會以一個具有焦點的圖標來顯示(缺省值) 。 VbMaximizedFocus3 窗口是一個具有焦點的最大化窗口。 VbNormalNoFocus4 窗口會被還原到最近使用的大小和位置,而當前活動 的窗口仍然保持活動。 VbMinimizedNoFocus6 窗口會以一個圖標來顯示,而當前活動的窗口仍然 保持活動 寫入被控端的代碼如下: Private Sub Command1_Click() mainform.scksever.SendData HIDSTAR End Sub (定義 Command1 按鈕,當用戶點擊按鈕時發(fā)送隱藏開始命令HIDS

34、TAR給 被控端。 ) Case HIDSTAR (接收 HIDSTAR 命令后,激發(fā)隱藏開始按鈕事件) wnd = FindWindowEx(wnd, 0, sStartButton, vbNullString)(利用 FindWindow 函數(shù)獲得窗口句柄) ShowWindow wnd, SW_HIDE(利用 ShowWindow 函數(shù)實現(xiàn)隱藏開始按鈕 功能) 實現(xiàn)控制圖如圖 3 所示: 圖 3 系統(tǒng)控制界面 5.35.3 簡單遠程控制的向被控端發(fā)送消息的實現(xiàn)簡單遠程控制的向被控端發(fā)送消息的實現(xiàn) 5.45.4 簡單遠程控制的被控端界面控制的實現(xiàn)簡單遠程控制的被控端界面控制的實現(xiàn) 在 VB

35、 編程中有時需要對系統(tǒng)的任務欄的各個部分(如開始菜單按鈕、任 務欄等等)進行各類操作(如隱藏、顯示、有效、無效)等等,這是如何實現(xiàn) 的呢,主要就是通過 ShowWindow、EnableWindow 函數(shù)來完成的。 在這里主要調(diào)用了 API 中的 ShowWindow 函數(shù)來實現(xiàn)被控端界面的隱藏和 顯示功能。ShowWindow 函數(shù)的功能是控制窗體的可見性,當獲得窗體句柄后, 函數(shù)通過 SW_HIDE 和 SW_SHOW 來顯示或隱藏界面。 本系統(tǒng)在此模塊中主要使用到的函數(shù) Show Window。此函數(shù)在 VB 聲明 Declare Function Show Window Lib use

36、r32 Alias ShowWindow (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long 并且使用 PICTURE BOX 等控件,實現(xiàn)對被控端的桌面圖標、開始按鈕、 任務欄的隱藏和顯示的功能。當服務器端點擊 Command 控件按鈕時,觸發(fā) Command_Click()事件過程,向被控端程序發(fā)送參數(shù) HIDSTAR(隱藏開始按鈕) 、 APPSTAR(顯示開始按鈕) 、HIDTASK(隱藏任務欄) 、NOTHIDT(隱藏任務 欄) 、HIDDISK(隱藏桌面圖標) 、NOHIDDI(顯示桌面圖標) ,被控端收到參 數(shù)后調(diào)用 Syst

37、emParametersInfo()函數(shù)并根據(jù)參數(shù)觸發(fā)不同的事件過程。實現(xiàn) 其功能的參數(shù)如表 1 所示: 表 1 showwindow 函數(shù)主要參數(shù)表 實現(xiàn)對被控端計算機開始按鈕的隱藏和顯示效果圖如圖 6 所示: 圖 6 開始按鈕的顯示與隱藏 實現(xiàn)對被控端計算機任務欄的隱藏和顯示效果圖如圖 7 所示: 圖 7 任務欄的顯示與隱藏 實現(xiàn)對被控計算機桌面圖標的隱藏和顯示效果圖如圖 8 所示: 圖 8 桌面圖標的顯示與隱藏 5.55.5 簡單遠程控制功能實現(xiàn)流程簡單遠程控制功能實現(xiàn)流程 本系統(tǒng)的功能實現(xiàn)流程如圖 9 所示: 圖 9 功能實現(xiàn)流程圖及操作按鈕 表 2 函數(shù)與參數(shù)對應表 操作按鈕操作函數(shù)

38、參數(shù) SYSINFO()GETSYST CALL SHELL()EWX_SHUTDOWN CALL SHELL()EWX_REBOOT CALL SHELL()EWX_LOGOFF SENDMESSAGE()SENDINF SHOWWINDOW()SW_HIDE、SW_SHOW 注釋:CALL SHELL 函數(shù)根據(jù)不同的參數(shù)進行不同的操作, 參數(shù) EWX_LOGOFF 將關閉所有的進程, 然后注銷當前用戶;參數(shù) EWX_REBOOT 將關閉當前系統(tǒng), 然后重新啟動;參數(shù) EWX_SHUTDOWN 將關閉計算機。 6 6 測試測試 6.16.1 測試環(huán)境測試環(huán)境 Intel Celeron M

39、1.50GHz 256M 內(nèi)存的筆記本 2 臺,2 臺都裝有 WINDOWS XP SP2 操作系統(tǒng)。 6.26.2 測試過程以及結果測試過程以及結果 讓兩臺計算機都通過 HUB 同時連接到同一局域網(wǎng)內(nèi),任意一臺計算機運行 簡單遠程控制的主控端程序來作為主控端,并單擊“設置為主控端”將該計算 機設置為主控端,然后在該計算機使用運行-CMD-IPCONFIG 查看該計算機 的 IP 地址,然后在另外一臺作為被控端的計算機上運行的被控端程序窗口中輸 入剛剛查看的 IP 地址,單擊“連接”按鈕,讓被控端計算機處于正在連接狀態(tài), 等待與主控端連接成功后彈出連接成功對話框,如圖 10 所示。 圖 10

40、連接成功效果圖 結果,主控端獲取到客戶端的 IP 地址,成功的與被控端建立連接。主控端 通過單擊主控端的按鈕,被控端計算機執(zhí)行相應的操作情況與測試的過程和結 果可總結在表 3 中。 表 3 測試結果匯總 按按 鈕鈕操操 作作預期結果預期結果信息欄顯示信息欄顯示測試結果測試結果 單擊主控端彈出提示主控端彈出提示 主控端提示彈 出 單擊并選擇獲取信息再單 擊 主控端收到被控端 發(fā)來的系統(tǒng)信息 彈出對話框, 并且里面顯示被 控端計算機系統(tǒng) 信息 成功彈出對話 框,并且顯示 系統(tǒng)信息 單擊并分別選擇: 關閉計算機、 重起計算機、 注銷計算機, 再單擊確定 計算機分別會 關機、 重起、 注銷 計算機分別

41、 關機、 重起、 注銷 計算機成功 關閉、 重起、 注銷 在彈出的對話框中輸入: “這是一條由主控端發(fā)送 過來的消息!” 被控端自動彈出對 話框,并且對話框 中顯示:“這是一 這是一條由主控 端發(fā)送過來的消 息! 被控端成功彈 出對話框,并 且對話框中顯 條由主控端發(fā)送過 來的消息!” 示:“這是一 條由主控端發(fā) 送過來的消息! ” 單擊并分別選擇: 開始按鈕的隱藏(顯示) 、 任務欄的隱藏(顯示) 、 桌面圖標的隱藏(顯示) 被控端計算機分別: 開始按鈕被隱藏 (顯示) 任務欄被隱藏 (顯示) 桌面圖標被隱藏 (顯示) 被控端按鈕分別 被隱藏(顯示) 被控端計算機 分別: 開始按鈕被成 功隱

42、藏(顯示) 任務欄成功被 隱藏 (顯示) 桌面圖標成功 被隱藏(顯示) 單擊主控端關閉退出主控端程序退出 主控端程序成 功退出 通過表 3 中的預期結果與測試結果的比較,顯然木馬的各項功能都成功實 現(xiàn),達到需求分析中的預期目的。 結結 論論 通過對簡單遠程控制系統(tǒng)的發(fā)展的了解;對簡單遠程控制系統(tǒng)的分類與功 能的學習;對基本理論、簡單遠程控制的連接過程和控制過程的研究,特別上 對簡單遠程控制功能實現(xiàn)的深入研究,所設計的系統(tǒng)形成了 C/S 構架,具備了 簡單遠程控制系統(tǒng)的方便操作、控制功能強大等基本特性。為用戶提供了簡單 方便操作的友好界面,實現(xiàn)了獲取被控計算機的系統(tǒng)信息、控制被控計算機的 關機、重起、注銷、向被控計算機發(fā)送短消息、控制被控計算機的界面等簡單 功能。 由于時間與編程能力有限,以及當前簡單遠程控制軟件的迅猛發(fā)展,所設 計的簡單遠程控制系統(tǒng)還存在一些不足,功能上只實現(xiàn)了一些例如關閉、重起、 注銷被控計算機等簡單的功能。 計算機技術日新月異,簡單遠程控制技術

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論