工业计算机远程控制,基于SOCKET技术的计算机远程控制实现
摘要:時至今日,計算機網(wǎng)絡(luò)已經(jīng)成為了人類社會生活中必不可少的組成部分,其中計算機的遠程控制系統(tǒng)更是為整個社會的進步起到推動作用。除了在工業(yè)自動化生產(chǎn)之外,計算機遠程控制系統(tǒng)還廣泛的應(yīng)用于辦公、技術(shù)支持等方面。在本文中,將設(shè)計一種簡單的基于的SOCKET技術(shù)的計算機遠程控制系統(tǒng)。
關(guān)鍵詞:SOCKET;計算機遠程控制
中圖分類號:TP273.5文獻標(biāo)識碼:A文章編號:1007-9599 (2012) 02-0000-02
Computer Remote Control Based on SOCKET Technology
Chen Shijun
(Hubei Telecom Business Technology,Support Center,Wuhan430015,China)
Abstract:Today,the computer network has become an integral part of human social life,which the computer's remote control system is to play a role in promoting the advancement of society as a whole.In addition to in addition to the production of industrial automation,computer remote control system is also widely used in office,technical support and other aspects.In this paper,design a simple SOCKET technology based on computer remote control system.
Keywords:SOCKET;Computer remote control
一、遠程控制系統(tǒng)的意義及理論基礎(chǔ)
(一)遠程控制系統(tǒng)的意義
計算機遠程控制對于整個互聯(lián)網(wǎng)絡(luò)而言具有重要的意義,無論是正面意義的遠程技術(shù)支持還是反面意義的后門犯罪從發(fā)展的角度來看都對計算機及網(wǎng)絡(luò)技術(shù)起到了一個推動作用,而科學(xué)技術(shù)是第一生產(chǎn)力,技術(shù)的進步對于整個社會來說就有意義,尤其是現(xiàn)在的計算機已經(jīng)滲透到人們生活中的每一個角落,所以本文吸收以往的一些遠程控制系統(tǒng)的優(yōu)點并結(jié)合自己的理念設(shè)計了一套基于SOCKET技術(shù)的計算機遠程控制系統(tǒng)。
(二)遠程控制系統(tǒng)的理論基礎(chǔ)
本文設(shè)計的遠程控制系統(tǒng)是基于SOCKET的,也就是俗稱的“套接字”,使用SOCKET有以下優(yōu)點:
1.減少了網(wǎng)絡(luò)通信的技術(shù)難度,SOCKET有標(biāo)準(zhǔn)的函數(shù)支持,具有標(biāo)準(zhǔn)的使用方法。
2.可以輕松的實現(xiàn)跨平臺,目前基本所有的系統(tǒng),windows、linux、unix及嵌入式系統(tǒng)、PLC等全部支持SOCKET。
綜上所述,基于SOCKET設(shè)計計算機遠程控制系統(tǒng)是可行的。
二、遠程控制系統(tǒng)的整體構(gòu)架
(一)傳輸協(xié)議的選擇
在TCP/IP的傳輸層上,存在著兩種可以使用的通信協(xié)議,一種是UDP,另一種是TCP。UDP協(xié)議能夠提供的是一種不可靠的服務(wù),不可能保證數(shù)據(jù)在傳輸過程中不出現(xiàn)差錯;TCP協(xié)議是一種能提供雙向有序、且保證數(shù)據(jù)包可靠收發(fā)的協(xié)議。在遠程控制系統(tǒng)中,安全是第一個要考慮的問題,所以本文設(shè)計的遠程控制系統(tǒng)使用TCP作為傳輸協(xié)議。
(二)使用模型的選擇
本文設(shè)計的遠程控制模式為一控多,既由一臺主計算機控制其他計算機,在模型上更加貼近于C/S模型,雖然使用C/S模型增加了客戶端程序設(shè)計的難度,但是C/S處理數(shù)據(jù)快速、準(zhǔn)確、安全、封閉性能好,可以很好的抵抗干擾,并且可以快速的響應(yīng)遠程操作請求,所以本系統(tǒng)使用C/S模型。
(三)控制端需求設(shè)計
控制端要求有以下三點:
1.能向指定的被控端發(fā)送操作指令。在指令中包含兩個部分:一是被控端地址,二是操作代碼。
2.可接受被控端返回的信息。當(dāng)控制端受到被控端返回的信息時應(yīng)該能分析出該信息的來源是否正確,數(shù)據(jù)包結(jié)構(gòu)是否合法,并能將合法的數(shù)據(jù)包解析為可理解的信息呈現(xiàn)給控制者。
3.可以提供數(shù)據(jù)加密服務(wù)。為了更好的保證系統(tǒng)的安全性,必須使用一套安全可靠的密碼機制,所以要求控制端應(yīng)該能與被控端建立可靠的安全的連接,并用該鏈接傳輸加密后的數(shù)據(jù)包。
(四)被控端需求設(shè)計
被控端主要承擔(dān)四個工作:
1.對控制端發(fā)送過來的操作代碼的解析與執(zhí)行。要求被控端可以驗證操作代碼來源,分析操作代碼是否合理,合理的話要求被控端可以執(zhí)行控制端要求的操作。
2.將操作結(jié)果反饋給控制端。要求被控端必須收集每一步操作產(chǎn)生的日志信息,當(dāng)控制端需要查看結(jié)果時,可以將信息傳遞回控制端。
3.提供數(shù)據(jù)加密服務(wù)。被控端的數(shù)據(jù)加密服務(wù)與控制端的數(shù)據(jù)加密服務(wù)目的相同,但是實現(xiàn)方法有差別,兩者代碼部分重合,但并不通用。
4.提供自我保護服務(wù)。避免被控端誤操作脫離控制端的控制。
三、控制端具體設(shè)計
(一)控制端工作使用線程如下
1.常駐監(jiān)聽線程,用以打開一個指定的端口,對該端口進行監(jiān)聽,等待由被控端主動發(fā)起的連接請求。
2.圖形界面,用做與控制者交互,使用該界面與其他服務(wù)線程聯(lián)系并且作為操作者操作翻譯、確認(rèn)以及顯示接受到的由被控端發(fā)送的數(shù)據(jù)內(nèi)容。在面向使用者的設(shè)計中,圖形界面可完成以下任務(wù):
(1)連接到指定的被控端IP。(2)顯示連接列表。(3)斷開與某被控端的IP。(4)向某被控端發(fā)送操作命令,操作指令可以是以下內(nèi)容:直接交由被控端執(zhí)行的命令,此類命令既可以人工鍵入,也可由軟件自動生成。控制被控端返回狀態(tài)的命令。(5)顯示被控端狀態(tài)。可以是圖像,文字等。
3.加密服務(wù)線程,由圖形界面臨時創(chuàng)立,負責(zé)接受圖形界面發(fā)送過來的用戶操作編碼,并將其根據(jù)傳輸通道建立時隨機產(chǎn)生的密鑰進行加密或解密操作,圖形界面會根據(jù)使用需求不同傳遞進不同的參數(shù),該線程會根據(jù)參數(shù)選擇是加密后送入傳輸線程發(fā)送還是加密后向圖形界面返回明文。其基本流程如下:
首先檢查圖形界面?zhèn)鬟f進的參數(shù)含義是加密還是解密,如果是加密則將圖形界面?zhèn)鬟f的參數(shù)對指定數(shù)據(jù)進行加密,加密后的數(shù)據(jù)直接送入傳輸線程;如果是解密,則對指定數(shù)據(jù)解密,之后返回解密后的數(shù)據(jù)地址指針以及數(shù)據(jù)長度。
4.傳輸線程,該線程負責(zé)使用建立的傳輸通道傳送數(shù)據(jù),由圖形界面創(chuàng)立,當(dāng)常駐監(jiān)聽線程監(jiān)聽到被控端連接請求并交給圖形界面同意后或者由使用者操作圖形界面直接發(fā)起向被控端連接的請求同意后創(chuàng)立,該線程的基本流程如下:
首先該線程打開特定端口與被控端建立明文連接,之后建立安全通道建立線程建立安全通道,當(dāng)通道建立后既進入等待中,其生命周期從建立開始到控制者操作圖形界面停止與被控端連接為止。。
5.安全通道建立線程,由傳輸線程建立。發(fā)起連接者不同,建立條件也有差異。其操作流程如下:
首先被控端使用控制端公鑰加密得到的隨機對稱式密鑰K1并發(fā)送至控制端,之后控制端使用公鑰解密得到K1并用K1加密K1,將密文發(fā)送至被控端,然后被控端用K1解密密文并與K1進行比較,判斷是否正確,如果正確,那么建立連接,使用的通信密鑰為K1。如果由連接請求是由控制端發(fā)起,則多加一個控制端要求被控端發(fā)起連接的公開請求過程。
四、被控端具體設(shè)計
被控端與控制端有著諸多的相同點,包括常駐監(jiān)聽線程、加密服務(wù)線程、傳輸線程、安全通道建立線程。不同的是被控端沒有圖形界面,所有的操作全部為后臺進行,而且被控端多加了自我保護服務(wù),用以保護被控端的可控性。其不同的地方設(shè)計如下:
(一)后臺操作線程。該線程起到的功能相當(dāng)于控制端的圖形界面所起到的中樞功能。當(dāng)該線程接受到控制端發(fā)送過來的指令時,首先做的也是解密翻譯,之后根據(jù)命令的不同執(zhí)行不同的操作。操作有以下幾類:
1.直接交由操作系統(tǒng)執(zhí)行命令并記錄返回情況;2.控制計算機的輸入設(shè)備并記錄返回情況;3.控制計算機的輸出設(shè)備并記錄返回情況;4.向控制端發(fā)送記錄的返回情況。
(二)自我保護線程。該線程設(shè)計運行于計算機的RING0層,并運用ROOKIT手法以及軟件安全技術(shù)屏蔽一切對本線程不利的操作,用以保證被控端的可控性。其監(jiān)控方面有以下幾個:
1.計算機驅(qū)動的加載;2.輸入輸出設(shè)備;3.文件系統(tǒng)變動;4.應(yīng)用程序的危險操作。
通過以上的防護措施,基本上可以保證控制端對于被控端的控制,達到遠程控制的目的。
參考文獻
[1]田鵬.基于WEB的遠程控制系統(tǒng)設(shè)計[D].蘭州大學(xué),2011
[2]馬強.計算機網(wǎng)絡(luò)遠程控制系統(tǒng)的研究與應(yīng)用[D].中國地質(zhì)大學(xué),2007
[3]王濤.基于安全模式的軟件安全設(shè)計方法[D].吉林大學(xué),2011
[4]朗波,王曉青.基于計算機網(wǎng)絡(luò)遠程控制系統(tǒng)的圖像傳輸實現(xiàn)策略[J].青海大學(xué)學(xué)報(自然科學(xué)版),2008
[5]朱慶軍,丁志剛,呂衛(wèi)陽.基于C/S模式的智能相機遠程控制系統(tǒng)研究[J].電氣應(yīng)用,2008(08)
總結(jié)
以上是生活随笔為你收集整理的工业计算机远程控制,基于SOCKET技术的计算机远程控制实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux复制文件到usb设备中,使用s
- 下一篇: getbook netty实战_Nett