版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、簡論遠(yuǎn)程控制系統(tǒng)控制端的設(shè)計 摘摘 要要 隨著現(xiàn)今社會計算機的廣泛普及以及網(wǎng)絡(luò)的快速發(fā)展給遠(yuǎn)程控制系統(tǒng)帶來 了廣闊的用武之地,人們可以通過簡單的終端機完全的控制網(wǎng)絡(luò)另一端的被控 機,從而完成強大的控制功能,獲取被控機的任何信息,這種方式被稱之為遠(yuǎn) 程控制。 簡單遠(yuǎn)程控制系統(tǒng)由主控端和被控端兩部分組成。主控端用于實施各種對 連網(wǎng)計算機的監(jiān)控操作,被控端對于接收到的數(shù)據(jù)進行分析,解釋并執(zhí)行。系 統(tǒng)主要可以實現(xiàn)獲取被控端信息、被控端系統(tǒng)控制、消息發(fā)送和被控端界面控 制的監(jiān)控功能。 本文對遠(yuǎn)程控制系統(tǒng)原理和主要相關(guān)技術(shù)作了簡單介紹,在進行需求分析 之后,詳細(xì)描述了本系統(tǒng)的被控端的設(shè)計與實現(xiàn),最后表格形
2、式給出測試結(jié)果。 關(guān)鍵詞關(guān)鍵詞:遠(yuǎn)程控制;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 簡單遠(yuǎn)程控制系統(tǒng)相關(guān)理論研究 .2 2.1 遠(yuǎn)程控制系統(tǒng)概述.2 2.2 因特網(wǎng)協(xié)議.3 2.3 客戶/服務(wù)起模.3 2.4 SOCKET的引入 .3 2.5 WINSOCK控件 .4 2.6 TIMER控件介紹 .4 3 簡單遠(yuǎn)程控制系統(tǒng)總
7、體結(jié)構(gòu) .5 3.1 系統(tǒng)規(guī)格說明.5 3.1.1 簡單遠(yuǎn)程控制系統(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 簡單遠(yuǎn)程控制系統(tǒng)的功能模塊的設(shè)計.6 4.1 簡單遠(yuǎn)程控制系統(tǒng)的主體設(shè)計.6 4.2 簡單遠(yuǎn)程控制系統(tǒng)的系統(tǒng)功能的實現(xiàn).7 5 簡單遠(yuǎn)程控制系統(tǒng)功能模塊的編程及實現(xiàn).7 5.1 簡單遠(yuǎn)程控制的連接功能實現(xiàn).8 5.2 簡單遠(yuǎn)程控制的被控端系統(tǒng)控制的實現(xiàn).9 5.3 簡單遠(yuǎn)程控制的向被控端發(fā)送消息的實現(xiàn).10 5.4 簡單遠(yuǎn)程控制的被控端界面控制的實現(xiàn).11 5.5 簡單遠(yuǎn)程控制功能
8、實現(xiàn)流程.13 6 測試 .13 6.1 測試環(huán)境.13 6.2 測試過程以及結(jié)果.13 結(jié) 論.14 參考文獻.16 1 1 引言引言 1.11.1 本課題的研究背景本課題的研究背景和意義和意義 隨著社會、科技、經(jīng)濟的不斷發(fā)展,遠(yuǎn)程控制技術(shù)的應(yīng)用范圍也在不斷拓 展,從最初銀行、軍事、機要部門等特殊行業(yè)領(lǐng)域的應(yīng)用已經(jīng)延伸到了今天的 電業(yè)部門、商業(yè)部門、普通工礦企業(yè)、道路交通領(lǐng)域、學(xué)校教學(xué)應(yīng)用、衛(wèi)生醫(yī) 療部門以及賓館酒店行業(yè)等等,其卓越的功能也日益受到各個應(yīng)用行業(yè)的重視 和青睞,但是許多遠(yuǎn)程監(jiān)控軟件都需要配有硬件設(shè)備,這不僅使得實際應(yīng)用的 成本升高,而且也使實施應(yīng)用增加了技術(shù)障礙。雖然有諸多問題
9、的存在,但是 我們應(yīng)該認(rèn)識到遠(yuǎn)程控制技術(shù)的研究,不僅充分利用了現(xiàn)有資源,拓寬了因特 網(wǎng)的利用范圍,而且也使遠(yuǎn)程控制能夠減少成本擴大遠(yuǎn)程化距離,實現(xiàn)任意節(jié) 點的訪問機制,并進入一般的應(yīng)用領(lǐng)域,比如,進入家庭,人們通過因特網(wǎng)控 制家用電器,采用因特網(wǎng)作為遠(yuǎn)程控制平臺,是一項很有前途和潛力的技術(shù), 另外它可以應(yīng)用到設(shè)備遠(yuǎn)程診斷、遠(yuǎn)程監(jiān)測、遙控等領(lǐng)域。 因特網(wǎng)的出現(xiàn)及其發(fā)展推動了科學(xué)技術(shù)的各個方面,并使之取得了巨大的 進步,利用因特網(wǎng),可以使遠(yuǎn)程控制技術(shù)得到大范圍的應(yīng)用,從而方便人們的 生活。 1.21.2 國內(nèi)外研究現(xiàn)狀國內(nèi)外研究現(xiàn)狀 目前,基于因特網(wǎng)的遠(yuǎn)程控制國內(nèi)外都有不同程度的研究。相對來說,由
10、 于西方國家在信息技術(shù)和計算機控制技術(shù)的發(fā)展上的優(yōu)勢,他們在研究遠(yuǎn)程控 制方面相對早些,而且有些公司有相關(guān)的初級產(chǎn)品問世。國內(nèi)由于因特網(wǎng)的飛 速發(fā)展,近幾年也開始積極的研究。國內(nèi)外在基于因特網(wǎng)的遠(yuǎn)程機器人控制方 面的研究相對其他領(lǐng)域要多一些。例如美國伯克立大學(xué)研制的是一個通過因特 網(wǎng)遠(yuǎn)程控制的種植花草 工業(yè)機器人手臂。擁護通過機器人手臂上的攝像機所傳 輸?shù)膱D像,對這個花園內(nèi)進行簡單的操作。 這些基于因特網(wǎng)的遠(yuǎn)程控制系統(tǒng)普遍采用了客戶/服務(wù)器網(wǎng)絡(luò)模型,現(xiàn)場采 用攝像機來監(jiān)視,并通過網(wǎng)絡(luò)發(fā)出指令。當(dāng)前,由于網(wǎng)絡(luò)基礎(chǔ)設(shè)施還不夠完善, 所以監(jiān)視圖像由于數(shù)據(jù)量大,其傳輸時間過長。即使是采用了數(shù)據(jù)壓縮技術(shù)
11、, 也仍然有很大的數(shù)據(jù)量需要傳輸,因而由此產(chǎn)生的遠(yuǎn)程控制時間延遲也必然很 大。此外,這類系統(tǒng)普遍采用瘦客戶/肥服務(wù)器的網(wǎng)絡(luò)模型,監(jiān)控端的控制操作 功能過于簡單,都只是發(fā)一些簡單的指令,而不能實現(xiàn)一些復(fù)雜的必要的邏輯 處理功能。第三,這類系統(tǒng)在處理上由于時間延遲影響現(xiàn)場控制系統(tǒng)不穩(wěn)定時, 仍然采用的執(zhí)行-等待-執(zhí)行-等待的單步執(zhí)行流程,生產(chǎn)設(shè)備運行效率相當(dāng)?shù)拖拢?第四,大量的采用以圖像監(jiān)視為主的方式,雖然可以使得監(jiān)控人員更能直觀的 感受到現(xiàn)場情況,便與監(jiān)控人員的控制;但是我們應(yīng)該注意到,有些設(shè)備的被 監(jiān)控狀態(tài)是難以用圖像方式表示出來的,比如溫度、速度、壓力這類精確的數(shù) 值量;此外有些采用圖像傳輸
12、的數(shù)據(jù)量也可以采用通過數(shù)據(jù)傳輸關(guān)鍵數(shù)據(jù)以在 監(jiān)控端進行實況模擬圖,這樣就會減少數(shù)據(jù)量,而使數(shù)據(jù)傳輸速度大大提高。 1.31.3 本課題的本課題的主要研究的內(nèi)容主要研究的內(nèi)容 遠(yuǎn)程控制是一個具有重要的研究價值的課題,它在工業(yè),國防等各個方面 有著廣泛的需求。然而,使用傳統(tǒng)的方式,由于成本、技術(shù)、維護、傳輸距離 等方面的問題,遠(yuǎn)程控制并沒有很好的推廣和利用。先進由于因特網(wǎng)的出現(xiàn), 使得成本低廉的遠(yuǎn)距離通信輕易的變成了現(xiàn)實。于是采用因特網(wǎng)作為遠(yuǎn)程控制 平臺,將遠(yuǎn)程控制的狀態(tài)、命令等控制數(shù)據(jù)和信息通過因特網(wǎng)傳輸。既減少了 開發(fā)成本、也增加遠(yuǎn)程控制的靈活性,人們也不必再為了實現(xiàn)一個臨時的遠(yuǎn)程 控制,而需
13、要重建一套遠(yuǎn)程控制系統(tǒng)。 本課題的研究主要內(nèi)容主要包括以下幾個方面: 1.簡單遠(yuǎn)程控制系統(tǒng)相關(guān)理論研究 2.簡單遠(yuǎn)程控制系統(tǒng)總體結(jié)構(gòu) 3.簡單遠(yuǎn)程控制系統(tǒng)的功能模塊的設(shè)計 4.簡單遠(yuǎn)程控制系統(tǒng)功能模塊的編程實現(xiàn) 1.41.4 作者的主要工作作者的主要工作 該系統(tǒng)軟件是本人與宣琳同學(xué)共同研究開發(fā)的,宣琳同學(xué)主要負(fù)責(zé)主控端 和部分被控端(獲取被控端信息)的設(shè)計與開發(fā),本人主要負(fù)責(zé)被控端的設(shè)計 與開發(fā)。 本人在系統(tǒng)開發(fā)中的具體工作: 1.搜尋與系統(tǒng)開發(fā)相關(guān)的資料,熟悉 VB 開發(fā)語言。 2.完成被控端與主控端的連接。 3.完成被控端模塊的程序代碼。 4.與宣琳同學(xué)一起對系統(tǒng)進行調(diào)試和測試。 5.歸并
14、相關(guān)系統(tǒng)開發(fā)文檔,完成畢業(yè)論文的撰寫。 2 2 簡單遠(yuǎn)程控制系統(tǒng)相關(guān)理論研究簡單遠(yuǎn)程控制系統(tǒng)相關(guān)理論研究 本系統(tǒng)采用 C/S 工作模式,由主控端和被控端兩部分組成,被控端作為客 戶端運行在目標(biāo)計算機上,接收指令,根據(jù)指令執(zhí)行相應(yīng)的操作;主控端運行 在用戶計算機向被控端發(fā)送指令。編碼上是利用 VB 進行 Socket 網(wǎng)絡(luò)編程,使 用 Microsoft Visual Basic 6.0 進行編譯。 2.12.1 遠(yuǎn)程控制系統(tǒng)概述遠(yuǎn)程控制系統(tǒng)概述 遠(yuǎn)程控制系統(tǒng)是以通信技術(shù)為基礎(chǔ)的一門先進技術(shù)。正是由于通信技術(shù)的 發(fā)展使得遠(yuǎn)程控制技術(shù)得到快速的發(fā)展。所有的遠(yuǎn)程控制系統(tǒng)幾乎都可以無一 例外的劃分為:
15、被控端(主要負(fù)責(zé)控制過程的實施) 、網(wǎng)絡(luò)、主控端(借助遠(yuǎn)程 數(shù)據(jù)訪問控制過程,進行控制) 、三個子系統(tǒng)的構(gòu)成。各部分分工協(xié)作,共同實 現(xiàn)對設(shè)備的遠(yuǎn)程控制。 2.22.2 因特網(wǎng)協(xié)議因特網(wǎng)協(xié)議 TCP/IP(傳輸控制協(xié)議/因特網(wǎng)協(xié)議)是建議在因特網(wǎng)的基礎(chǔ)上。因特網(wǎng)上 的計算機通過互相發(fā)送信息分組進行通信,這種信息分組由成塊的數(shù)據(jù)、特定 的控制信息和尋址信息組成??刂坪蛯ぶ沸畔⒂脕泶_保信息包到達(dá)目的地,并 夠能被收信主機重新組成可以使用的計算機數(shù)據(jù)。這種信息傳遞方式是由 TCP/IP 協(xié)議所規(guī)定的。因此,TCP/IP 是互聯(lián)網(wǎng)的“通信語言” 。TCP/IP 協(xié)議中 規(guī)定了信息包應(yīng)該怎樣分層、分組,
16、怎樣在收信計算機上將信息分組重新裝成 計算機數(shù)據(jù),怎樣在線路上傳輸信號,以及許多其他有關(guān)的問題,如不同的層 次上的信息分組需要不同的軟件和硬件支持,以便他們在不同的網(wǎng)絡(luò)和通信線 路上發(fā)送和接收信息。IP 的一個主要工作是路由選擇,即在網(wǎng)絡(luò)中引導(dǎo)數(shù)據(jù)包 的過程。TCP 負(fù)責(zé)轉(zhuǎn)換級處理,在一個連接的每一端給每個發(fā)送的數(shù)據(jù)包分配 一個順序號,每個計算機都跟蹤記錄它已發(fā)送或者接收到的數(shù)據(jù)包順序號。 TCP/IP 協(xié)議模型由四層組成,分別是應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層。 2.32.3 客戶客戶/ /服務(wù)起模服務(wù)起模 客戶/服務(wù)起模型是常用的設(shè)計網(wǎng)絡(luò)模型,網(wǎng)絡(luò)通信要在兩臺計算機或互相 對話的兩個程序
17、之間建立網(wǎng)絡(luò)連接,網(wǎng)絡(luò)連接包括通信進程的兩端以及它們之 間的通道。 客戶/服務(wù)起模型將網(wǎng)絡(luò)應(yīng)用程序分為兩部分:客戶部分和服務(wù)器部分。網(wǎng) 絡(luò)連接的客戶放請求連接,服務(wù)器方提供服務(wù)和信息。連接的服務(wù)器方對客戶 的請求做出響應(yīng),也就是說,在客戶/服務(wù)起模型中,網(wǎng)絡(luò)應(yīng)用程序完成兩個獨 立的和定義好的功能:請求信息和對請求信息做出響應(yīng)。請求信息是客戶方應(yīng) 用程序,對請求信息做出響應(yīng)的程序充當(dāng)服務(wù)器程序。 2.42.4 Socket 的引入的引入 在遠(yuǎn)程控制軟件中,對于主控機和受控機進行的數(shù)據(jù)通信所使用的主要技 術(shù)就是網(wǎng)絡(luò)編程技術(shù)和系統(tǒng)編程技術(shù)。 隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展 TCP/IP 協(xié)議,被集成到操作
18、系統(tǒng)內(nèi)核中時,相 當(dāng)于在操作系統(tǒng)中引入了一種新型的輸入/輸出操作,操作系統(tǒng)擁護進程與網(wǎng)絡(luò) 的交互作用比用戶進程與傳統(tǒng)的輸入/輸出設(shè)備互相作用復(fù)雜的多。首先,進行 網(wǎng)絡(luò)操作的兩個進程不在同機器上,如何建立它們之間的聯(lián)系?其次,有很多 種網(wǎng)絡(luò)協(xié)議,如何建立一種通用機制以支持多種協(xié)議?這些都是網(wǎng)絡(luò)應(yīng)用變成 所要解決的問題。 20 世紀(jì) 80 年代初,美國政府的高級研究工程機構(gòu) ARPA 給加利福尼亞大 學(xué) BERKELEY 分校提供了獎金,讓他們在 UNIX 操作系統(tǒng)下實現(xiàn) TCP/IP 協(xié)議。 在這個項目中,研究人員為 TCP/IP 網(wǎng)絡(luò)通信開發(fā)了一個應(yīng)用程序接口 API。這 個 API 就稱為
19、SOCKET(套接字)接口,今天 SOCKET 接口是 TCP/IP 網(wǎng)絡(luò)最 為通用的 API,也是在 INTERNET 上進行應(yīng)用開發(fā)最為通用的 API。 2.52.5 Winsock 控件控件 Winsock 控件對用戶來說是不可見的,它提供了訪問 TCP 和 UDP 網(wǎng)絡(luò) 服務(wù)的方便途徑。Microsoft Access、Visual Basic、Visual C+ 或 Visual FoxPro 的開發(fā)人員都可使用它。為編寫客戶或服務(wù)器應(yīng)用程序,不必了解 TCP 的細(xì) 節(jié)或調(diào)用低級的 Winsock APIs。通過設(shè)置控件的屬性并調(diào)用其方法就可輕易連 接到一臺遠(yuǎn)程機器上去,并且還可雙向
20、交換數(shù)據(jù)。 TCP 基礎(chǔ): 數(shù)據(jù)傳輸協(xié)議允許創(chuàng)建和維護與遠(yuǎn)程計算機的連接。連接兩臺計算機就可 彼此進行數(shù)據(jù)傳輸。 如果創(chuàng)建客戶應(yīng)用程序,就必須知道服務(wù)器計算機名或者 IP 地址 (RemoteHost 屬性) ,還要知道進行“偵聽”的端口(RemotePort 屬性) ,然后 調(diào)用 Connect 方法。 如果創(chuàng)建服務(wù)器應(yīng)用程序,就應(yīng)設(shè)置一個收聽端口(LocalPort 屬性)并調(diào) 用 Listen 方法。當(dāng)客戶計算機需要連接時就會發(fā)生 ConnectionRequest 事件。 為了完成連接,可調(diào)用 ConnectionRequest 事件內(nèi)的 Accept 方法。 建立連接后,任何一方計算
21、機都可以收發(fā)數(shù)據(jù)。為了發(fā)送數(shù)據(jù),可調(diào)用 SendData 方法。當(dāng)接收數(shù)據(jù)時會發(fā)生 DataArriva 事件。調(diào)用 DataArrival 事件內(nèi) 的 GetData 方法就可獲取數(shù)據(jù)。 UDP 基礎(chǔ): 用戶數(shù)據(jù)文報協(xié)議(UDP)是一個無連接協(xié)議。跟 TCP 的操作不同,計算機 并不建立連接。另外 UDP 應(yīng)用程序可以是客戶機,也可以是服務(wù)器。 為了傳輸數(shù)據(jù),首先要設(shè)置客戶計算機的 LocalPort 屬性。然后,服務(wù)器計 算機只需將 Remote Host 設(shè)置為客戶計算機的 Internet 地址,并將 RemotePort 屬性設(shè)置為跟客戶計算機的 LocalPort 屬性相同的端口,
22、并調(diào)用 SendData 方法 來著手發(fā)送信息。于是,客戶計算機使用 DataArrival 事件內(nèi)的 GetData 方法來 獲取已發(fā)送的信息。 2.62.6 Timer 控件介紹控件介紹 Timer(時鐘)控件響應(yīng)時間的流逝。它們獨立于用戶,編程后可用來在一 定的時間間隔執(zhí)行操作。此控件一般用處是檢查系統(tǒng)時鐘,判斷是否執(zhí)行某項 任務(wù)。對于其它后臺處理,Timer 空間也是非常有用的。 3 3 簡單遠(yuǎn)程控制系統(tǒng)總體結(jié)構(gòu)簡單遠(yuǎn)程控制系統(tǒng)總體結(jié)構(gòu) 3.13.1 系統(tǒng)規(guī)格說明系統(tǒng)規(guī)格說明 3.1.1 簡單遠(yuǎn)程控制系統(tǒng)的概貌簡單遠(yuǎn)程控制系統(tǒng)的概貌 “簡單遠(yuǎn)程控制系統(tǒng)的設(shè)計與實現(xiàn)”主要包含兩個部分:主
23、控端和被控端。 主控端是運行在用戶計算機上的一個程序,該端主要實現(xiàn)對被控端的控制,以 實現(xiàn)對被控計算機關(guān)機、注銷、重起以及向被控端發(fā)送消息等功能。 被控端是運行在目標(biāo)計算機(被控計算機)上的一個程序,以提供該計算 機的各種信息,以及實現(xiàn)主控端對其執(zhí)行的各種操作。 3.1.2 各模塊功能要求各模塊功能要求 本系統(tǒng)在功能要求上主要實現(xiàn)的功能有:主控端獲取被控端計算機系統(tǒng)信 息、對被控端界面的控制、對被控端的系統(tǒng)控制以及對向被控端發(fā)送消息。 1.主控端獲取被控端系統(tǒng)信息。此模塊的主要功能是主控端能通過此功能 了解到被控計算機上的系統(tǒng)信息,為后面進一步的對被控端進行控制作一個簡 單的了解,也同時通過此
24、功能對被控計算機上所安裝的軟、硬件進行了解,做 到對被控計算機的了解程度跟了解本機一樣。 2.對被控端的界面控制。此模塊主要實現(xiàn)主控端對被控計算機的用戶界面 的控制,包括對開始按鈕的隱藏以及顯示、任務(wù)欄的隱藏以及顯示和桌面圖標(biāo) 的隱藏和顯示功能。 3.對被控端的系統(tǒng)控制。此模塊主要實現(xiàn)對被控計算機的機器系統(tǒng)的控制, 包括對被控計算機實施關(guān)閉計算機、重新啟動被控端計算機以及注銷被控端計 算機目前使用的用戶功能。做到使主控端用戶在主控計算機上就能很容易的控 制被控計算機的系統(tǒng)。 4.向被控端發(fā)送信息。此模塊主要實現(xiàn)主控計算機向被控計算機發(fā)送文字 性消息的功能,有了此功能模塊的建立,主控端用戶可以在
25、本機上向被控端用 戶傳遞信息和發(fā)送消息,做到了主控端的用戶與被控端用戶的聯(lián)系。 3.1.33.1.3 性能要求性能要求 主控端界面應(yīng)當(dāng)簡單、友好、方便使用和操作;被控端是用作運行在被控 計算機內(nèi)的可執(zhí)行文件,為提高執(zhí)行速度,從客戶端發(fā)送到服務(wù)端的信息應(yīng)盡 量的少。主控端與被控端之間通過使用 TCP 協(xié)議建立連接,以實現(xiàn)對被控計算 機的控制。 3.1.43.1.4 運行要求運行要求 設(shè)計出的簡單遠(yuǎn)程控制軟件應(yīng)當(dāng)在現(xiàn)在使用的大量操作系統(tǒng)上都能運行。 例如:Windows 2000、Windows XP、Windows 2003;能在較低的硬件配置上運 行,如 128M 的內(nèi)存,AMD 1800+的
26、處理器。 3.23.2 數(shù)據(jù)要求數(shù)據(jù)要求 簡單遠(yuǎn)程控制系統(tǒng)的結(jié)構(gòu)中,主控端是相當(dāng)于一個系統(tǒng)的前臺,為用戶提 供了一個操作界面,而幾乎所有的操作都是在被控端這個后臺處理程序運行的, 被控端界面提供的操作可分為連接、動作、和信息三個模塊。連接模塊是在被 控端運行的,動作模塊作為遠(yuǎn)程控制系統(tǒng)的核心,是在主控端運行實現(xiàn)的。 3.33.3 用戶系統(tǒng)描述用戶系統(tǒng)描述 首先設(shè)置主控計算機為主控端,主控端顯示為監(jiān)聽狀態(tài),被控端通過輸入 主控計算機的 IP 地址點擊連接主控端。被控端連接成功后,主控端顯示為連接 狀態(tài),主控端便可以對被控計算機實現(xiàn)各種操作。每次操作成功后都會在主控 端計算機上顯示相應(yīng)的提示信息。
27、 4 4 簡單遠(yuǎn)程控制系統(tǒng)的簡單遠(yuǎn)程控制系統(tǒng)的功能模塊的設(shè)計功能模塊的設(shè)計 4.14.1 簡單遠(yuǎn)程控制系統(tǒng)的主體設(shè)計簡單遠(yuǎn)程控制系統(tǒng)的主體設(shè)計 被控端窗口設(shè)計為輸入主控計算機 IP 地址,連接主控端計算機的窗口,連 接成功后自動進入托盤中,使被控計算機桌面很潔凈,也體現(xiàn)出一些隱藏性。 主控端窗口設(shè)計為對被控端的各種控制按鈕的界面,當(dāng)被控端與主控端連 接成功后在被控端顯示連接成功對話框,提示用戶連接成功后,用戶通過點擊 界面上的按鈕便很容易的實現(xiàn)對被控計算機的各種控制。其體統(tǒng)結(jié)構(gòu)圖如圖 1 所示: 圖 1 簡單遠(yuǎn)程控制系統(tǒng)結(jié)構(gòu)圖 4.24.2 簡單遠(yuǎn)程控制系統(tǒng)的系統(tǒng)功能簡單遠(yuǎn)程控制系統(tǒng)的系統(tǒng)功能
28、的實現(xiàn)的實現(xiàn) 簡單遠(yuǎn)程控制通信系統(tǒng)的各類控制指令數(shù)據(jù)傳輸采用的是因特網(wǎng)通道,控 制質(zhì)量數(shù)據(jù)傳輸是基于因特網(wǎng)遠(yuǎn)程控制系統(tǒng)的關(guān)鍵。我們主要以 TCP/IP 協(xié)議上 的通信為基礎(chǔ),使用 C/S 模型來解決控制數(shù)據(jù)的通信問題。我們在通信系統(tǒng)上 的設(shè)計是采用 WINSOCK,我們按客戶/服務(wù)器模型來設(shè)計基于因特網(wǎng)的遠(yuǎn)程控 制指令數(shù)據(jù)通信技術(shù)。WINSOCK 通信系統(tǒng)采用的控制模式有兩種方式,一個 是多對一,即多個客戶可以同時向服務(wù)器請求服務(wù),而服務(wù)器也能夠同時對這 些請求給予相信處理。服務(wù)器負(fù)責(zé)控制控制質(zhì)量的接受和處理。而客戶則是控 制指令數(shù)據(jù)的發(fā)送和狀態(tài)數(shù)據(jù)的接受和顯示,另一個一對多,既一個客戶可以
29、同時向多個服務(wù)器發(fā)送請求服務(wù),而服務(wù)器也能夠?qū)@些請求給予相信處理。 服務(wù)器負(fù)責(zé)控制控制指令的接受和處理,而客戶則是控制指令的發(fā)送和狀態(tài)數(shù) 據(jù)的接受和顯示。主控端與被控端的連接的系統(tǒng)結(jié)構(gòu)圖如圖 2 所示: 圖 2 功能結(jié)構(gòu)層次圖 5 5 簡單遠(yuǎn)程控制系統(tǒng)簡單遠(yuǎn)程控制系統(tǒng)功能模塊的編程及實現(xiàn)功能模塊的編程及實現(xiàn) 以上介紹了遠(yuǎn)程控制軟件編寫的一些理論基礎(chǔ),下面介紹一下我們編寫的 一款遠(yuǎn)程控制軟件所實現(xiàn)的功能,并對其所編程原理進行了剖析。這款軟件同 大多數(shù)遠(yuǎn)程控制軟件一樣有兩部分組成:包含 server.exe 和 client.exe 兩個程序, server.exe 是服務(wù)程序,是安裝在與你聯(lián)網(wǎng)
30、的電腦里(就是被維護或者被控制的 電腦) ,如果要進行控制,就必須在對方的電腦里運行 server.exe;client.exe 是 客戶端程序,安裝在你自己的電腦里,如果要對對方電腦進行控制時,就啟動 客戶程序,并可以通過 client.exe 程序界面的彩旦控制裝有 server.exe 程序的電 腦(就是被維護或者被控制的電腦) 。 5.15.1 簡單遠(yuǎn)程控制的連接功能實現(xiàn)簡單遠(yuǎn)程控制的連接功能實現(xiàn) 5.25.2 簡單遠(yuǎn)程控制的被控端系統(tǒng)控制的實現(xiàn)簡單遠(yuǎn)程控制的被控端系統(tǒng)控制的實現(xiàn) 本系統(tǒng)在此模塊中設(shè)計為當(dāng)主控端把控制指令(關(guān)機、重起、注銷)數(shù)據(jù) 發(fā)送給被控端后,被控端接收到這些指令,則
31、進行相應(yīng)的操作。一般說來如果 被控端收到這些指令則調(diào)用相應(yīng)的 API 函數(shù)。在使用界面上運用了選項按鈕控 件 OPTIONBUTTON,在主控端程序中使用了程序控制結(jié)構(gòu)語句 IfThenElse,應(yīng)用程序中可以經(jīng)過條件表達(dá)式的測試,并根據(jù)測試結(jié)果為 TRUE 和 FALSE 來決定程序運行的方向,只有當(dāng)滿足 TURE 條件時才會進行下 個程序流程,否則執(zhí)行另一個程序流程。例如當(dāng)主控端測試結(jié)果為 REBOOT 時, 主控端向被控端發(fā)送參數(shù) EWX_REBOOT,被控端根據(jù)參數(shù)調(diào)用 CALL SHELL()函 數(shù)并觸發(fā)事件過程重起被控端計算機。 Shell 函數(shù)是 VB 中的內(nèi)部函數(shù),它負(fù)責(zé)執(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 窗口會以一個具有焦點的圖標(biāo)來顯示(缺省值) 。 VbMaximizedFocus3 窗口是一個具有焦點的最大化窗口。 VbNormalNoFocus4 窗口會被還原到最近使用的大小和位置,而當(dāng)前活動 的窗口仍然保持活動。 VbMinimizedNoFocus6 窗口會以一個圖標(biāo)來顯示,而當(dāng)前活動的窗口仍然 保持活動 寫入被控端的代碼如下: Private Sub Command1_Click() mainform.scksever.SendData HIDSTAR End Sub (定義 Command1 按鈕,當(dāng)用戶點擊按鈕時發(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 簡單遠(yuǎn)程控制的向被控端發(fā)送消息的實現(xiàn)簡單遠(yuǎn)程控制的向被控端發(fā)送消息的實現(xiàn) 5.45.4 簡單遠(yuǎn)程控制的被控端界面控制的實現(xiàn)簡單遠(yuǎn)程控制的被控端界面控制的實現(xiàn) 在 VB
35、 編程中有時需要對系統(tǒng)的任務(wù)欄的各個部分(如開始菜單按鈕、任 務(wù)欄等等)進行各類操作(如隱藏、顯示、有效、無效)等等,這是如何實現(xiàn) 的呢,主要就是通過 ShowWindow、EnableWindow 函數(shù)來完成的。 在這里主要調(diào)用了 API 中的 ShowWindow 函數(shù)來實現(xiàn)被控端界面的隱藏和 顯示功能。ShowWindow 函數(shù)的功能是控制窗體的可見性,當(dāng)獲得窗體句柄后, 函數(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)對被控端的桌面圖標(biāo)、開始按鈕、 任務(wù)欄的隱藏和顯示的功能。當(dāng)服務(wù)器端點擊 Command 控件按鈕時,觸發(fā) Command_Click()事件過程,向被控端程序發(fā)送參數(shù) HIDSTAR(隱藏開始按鈕) 、 APPSTAR(顯示開始按鈕) 、HIDTASK(隱藏任務(wù)欄) 、NOTHIDT(隱藏任務(wù) 欄) 、HIDDISK(隱藏桌面圖標(biāo)) 、NOHIDDI(顯示桌面圖標(biāo)) ,被控端收到參 數(shù)后調(diào)用 Syst
37、emParametersInfo()函數(shù)并根據(jù)參數(shù)觸發(fā)不同的事件過程。實現(xiàn) 其功能的參數(shù)如表 1 所示: 表 1 showwindow 函數(shù)主要參數(shù)表 實現(xiàn)對被控端計算機開始按鈕的隱藏和顯示效果圖如圖 6 所示: 圖 6 開始按鈕的顯示與隱藏 實現(xiàn)對被控端計算機任務(wù)欄的隱藏和顯示效果圖如圖 7 所示: 圖 7 任務(wù)欄的顯示與隱藏 實現(xiàn)對被控計算機桌面圖標(biāo)的隱藏和顯示效果圖如圖 8 所示: 圖 8 桌面圖標(biāo)的顯示與隱藏 5.55.5 簡單遠(yuǎn)程控制功能實現(xiàn)流程簡單遠(yuǎn)程控制功能實現(xiàn)流程 本系統(tǒng)的功能實現(xiàn)流程如圖 9 所示: 圖 9 功能實現(xiàn)流程圖及操作按鈕 表 2 函數(shù)與參數(shù)對應(yīng)表 操作按鈕操作函數(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 將關(guān)閉所有的進程, 然后注銷當(dāng)前用戶;參數(shù) EWX_REBOOT 將關(guān)閉當(dāng)前系統(tǒng), 然后重新啟動;參數(shù) EWX_SHUTDOWN 將關(guān)閉計算機。 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 測試過程以及結(jié)果測試過程以及結(jié)果 讓兩臺計算機都通過 HUB 同時連接到同一局域網(wǎng)內(nèi),任意一臺計算機運行 簡單遠(yuǎn)程控制的主控端程序來作為主控端,并單擊“設(shè)置為主控端”將該計算 機設(shè)置為主控端,然后在該計算機使用運行-CMD-IPCONFIG 查看該計算機 的 IP 地址,然后在另外一臺作為被控端的計算機上運行的被控端程序窗口中輸 入剛剛查看的 IP 地址,單擊“連接”按鈕,讓被控端計算機處于正在連接狀態(tài), 等待與主控端連接成功后彈出連接成功對話框,如圖 10 所示。 圖 10
40、連接成功效果圖 結(jié)果,主控端獲取到客戶端的 IP 地址,成功的與被控端建立連接。主控端 通過單擊主控端的按鈕,被控端計算機執(zhí)行相應(yīng)的操作情況與測試的過程和結(jié) 果可總結(jié)在表 3 中。 表 3 測試結(jié)果匯總 按按 鈕鈕操操 作作預(yù)期結(jié)果預(yù)期結(jié)果信息欄顯示信息欄顯示測試結(jié)果測試結(jié)果 單擊主控端彈出提示主控端彈出提示 主控端提示彈 出 單擊并選擇獲取信息再單 擊 主控端收到被控端 發(fā)來的系統(tǒng)信息 彈出對話框, 并且里面顯示被 控端計算機系統(tǒng) 信息 成功彈出對話 框,并且顯示 系統(tǒng)信息 單擊并分別選擇: 關(guān)閉計算機、 重起計算機、 注銷計算機, 再單擊確定 計算機分別會 關(guān)機、 重起、 注銷 計算機分別
41、 關(guān)機、 重起、 注銷 計算機成功 關(guān)閉、 重起、 注銷 在彈出的對話框中輸入: “這是一條由主控端發(fā)送 過來的消息!” 被控端自動彈出對 話框,并且對話框 中顯示:“這是一 這是一條由主控 端發(fā)送過來的消 息! 被控端成功彈 出對話框,并 且對話框中顯 條由主控端發(fā)送過 來的消息!” 示:“這是一 條由主控端發(fā) 送過來的消息! ” 單擊并分別選擇: 開始按鈕的隱藏(顯示) 、 任務(wù)欄的隱藏(顯示) 、 桌面圖標(biāo)的隱藏(顯示) 被控端計算機分別: 開始按鈕被隱藏 (顯示) 任務(wù)欄被隱藏 (顯示) 桌面圖標(biāo)被隱藏 (顯示) 被控端按鈕分別 被隱藏(顯示) 被控端計算機 分別: 開始按鈕被成 功隱
42、藏(顯示) 任務(wù)欄成功被 隱藏 (顯示) 桌面圖標(biāo)成功 被隱藏(顯示) 單擊主控端關(guān)閉退出主控端程序退出 主控端程序成 功退出 通過表 3 中的預(yù)期結(jié)果與測試結(jié)果的比較,顯然木馬的各項功能都成功實 現(xiàn),達(dá)到需求分析中的預(yù)期目的。 結(jié)結(jié) 論論 通過對簡單遠(yuǎn)程控制系統(tǒng)的發(fā)展的了解;對簡單遠(yuǎn)程控制系統(tǒng)的分類與功 能的學(xué)習(xí);對基本理論、簡單遠(yuǎn)程控制的連接過程和控制過程的研究,特別上 對簡單遠(yuǎn)程控制功能實現(xiàn)的深入研究,所設(shè)計的系統(tǒng)形成了 C/S 構(gòu)架,具備了 簡單遠(yuǎn)程控制系統(tǒng)的方便操作、控制功能強大等基本特性。為用戶提供了簡單 方便操作的友好界面,實現(xiàn)了獲取被控計算機的系統(tǒng)信息、控制被控計算機的 關(guān)機、重起、注銷、向被控計算機發(fā)送短消息、控制被控計算機的界面等簡單 功能。 由于時間與編程能力有限,以及當(dāng)前簡單遠(yuǎn)程控制軟件的迅猛發(fā)展,所設(shè) 計的簡單遠(yuǎn)程控制系統(tǒng)還存在一些不足,功能上只實現(xiàn)了一些例如關(guān)閉、重起、 注銷被控計算機等簡單的功能。 計算機技術(shù)日新月異,簡單遠(yuǎn)程控制技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版建筑工程質(zhì)量驗收質(zhì)檢員聘用協(xié)議3篇
- 2025年度路演場地租賃及活動場地租賃期限管理協(xié)議4篇
- 2025版事故車事故現(xiàn)場勘查與報告編制合同3篇
- 2025年度個人二手車置換合同范本4篇
- 2025年度餐廳總經(jīng)理年度綜合服務(wù)合同3篇
- 基于云計算2025年度智能辦公系統(tǒng)設(shè)計與實施合同3篇
- 2025年度特色小吃車轉(zhuǎn)讓合同范本二零二五年度3篇
- 2025年度個人借款第三方擔(dān)保協(xié)議書(互聯(lián)網(wǎng)金融版)3篇
- 2025版環(huán)保產(chǎn)業(yè)項目投資合作協(xié)議范本4篇
- 2025年醫(yī)院與保險公司醫(yī)療責(zé)任險合作協(xié)議4篇
- 農(nóng)民工工資表格
- 【寒假預(yù)習(xí)】專題04 閱讀理解 20篇 集訓(xùn)-2025年人教版(PEP)六年級英語下冊寒假提前學(xué)(含答案)
- 2024年智能監(jiān)獄安防監(jiān)控工程合同3篇
- 幼兒園籃球課培訓(xùn)
- 統(tǒng)編版(2024新版)七年級《道德與法治》上冊第一單元《少年有夢》單元測試卷(含答案)
- 100道20以內(nèi)的口算題共20份
- 高三完形填空專項訓(xùn)練單選(部分答案)
- 護理查房高鉀血癥
- 項目監(jiān)理策劃方案匯報
- 《職業(yè)培訓(xùn)師的培訓(xùn)》課件
- 建筑企業(yè)新年開工儀式方案
評論
0/150
提交評論