工业计算机远程控制,基于SOCKET技术的计算机远程控制实现
摘要:時至今日,計算機網絡已經成為了人類社會生活中必不可少的組成部分,其中計算機的遠程控制系統更是為整個社會的進步起到推動作用。除了在工業自動化生產之外,計算機遠程控制系統還廣泛的應用于辦公、技術支持等方面。在本文中,將設計一種簡單的基于的SOCKET技術的計算機遠程控制系統。
關鍵詞:SOCKET;計算機遠程控制
中圖分類號:TP273.5文獻標識碼: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
一、遠程控制系統的意義及理論基礎
(一)遠程控制系統的意義
計算機遠程控制對于整個互聯網絡而言具有重要的意義,無論是正面意義的遠程技術支持還是反面意義的后門犯罪從發展的角度來看都對計算機及網絡技術起到了一個推動作用,而科學技術是第一生產力,技術的進步對于整個社會來說就有意義,尤其是現在的計算機已經滲透到人們生活中的每一個角落,所以本文吸收以往的一些遠程控制系統的優點并結合自己的理念設計了一套基于SOCKET技術的計算機遠程控制系統。
(二)遠程控制系統的理論基礎
本文設計的遠程控制系統是基于SOCKET的,也就是俗稱的“套接字”,使用SOCKET有以下優點:
1.減少了網絡通信的技術難度,SOCKET有標準的函數支持,具有標準的使用方法。
2.可以輕松的實現跨平臺,目前基本所有的系統,windows、linux、unix及嵌入式系統、PLC等全部支持SOCKET。
綜上所述,基于SOCKET設計計算機遠程控制系統是可行的。
二、遠程控制系統的整體構架
(一)傳輸協議的選擇
在TCP/IP的傳輸層上,存在著兩種可以使用的通信協議,一種是UDP,另一種是TCP。UDP協議能夠提供的是一種不可靠的服務,不可能保證數據在傳輸過程中不出現差錯;TCP協議是一種能提供雙向有序、且保證數據包可靠收發的協議。在遠程控制系統中,安全是第一個要考慮的問題,所以本文設計的遠程控制系統使用TCP作為傳輸協議。
(二)使用模型的選擇
本文設計的遠程控制模式為一控多,既由一臺主計算機控制其他計算機,在模型上更加貼近于C/S模型,雖然使用C/S模型增加了客戶端程序設計的難度,但是C/S處理數據快速、準確、安全、封閉性能好,可以很好的抵抗干擾,并且可以快速的響應遠程操作請求,所以本系統使用C/S模型。
(三)控制端需求設計
控制端要求有以下三點:
1.能向指定的被控端發送操作指令。在指令中包含兩個部分:一是被控端地址,二是操作代碼。
2.可接受被控端返回的信息。當控制端受到被控端返回的信息時應該能分析出該信息的來源是否正確,數據包結構是否合法,并能將合法的數據包解析為可理解的信息呈現給控制者。
3.可以提供數據加密服務。為了更好的保證系統的安全性,必須使用一套安全可靠的密碼機制,所以要求控制端應該能與被控端建立可靠的安全的連接,并用該鏈接傳輸加密后的數據包。
(四)被控端需求設計
被控端主要承擔四個工作:
1.對控制端發送過來的操作代碼的解析與執行。要求被控端可以驗證操作代碼來源,分析操作代碼是否合理,合理的話要求被控端可以執行控制端要求的操作。
2.將操作結果反饋給控制端。要求被控端必須收集每一步操作產生的日志信息,當控制端需要查看結果時,可以將信息傳遞回控制端。
3.提供數據加密服務。被控端的數據加密服務與控制端的數據加密服務目的相同,但是實現方法有差別,兩者代碼部分重合,但并不通用。
4.提供自我保護服務。避免被控端誤操作脫離控制端的控制。
三、控制端具體設計
(一)控制端工作使用線程如下
1.常駐監聽線程,用以打開一個指定的端口,對該端口進行監聽,等待由被控端主動發起的連接請求。
2.圖形界面,用做與控制者交互,使用該界面與其他服務線程聯系并且作為操作者操作翻譯、確認以及顯示接受到的由被控端發送的數據內容。在面向使用者的設計中,圖形界面可完成以下任務:
(1)連接到指定的被控端IP。(2)顯示連接列表。(3)斷開與某被控端的IP。(4)向某被控端發送操作命令,操作指令可以是以下內容:直接交由被控端執行的命令,此類命令既可以人工鍵入,也可由軟件自動生成。控制被控端返回狀態的命令。(5)顯示被控端狀態。可以是圖像,文字等。
3.加密服務線程,由圖形界面臨時創立,負責接受圖形界面發送過來的用戶操作編碼,并將其根據傳輸通道建立時隨機產生的密鑰進行加密或解密操作,圖形界面會根據使用需求不同傳遞進不同的參數,該線程會根據參數選擇是加密后送入傳輸線程發送還是加密后向圖形界面返回明文。其基本流程如下:
首先檢查圖形界面傳遞進的參數含義是加密還是解密,如果是加密則將圖形界面傳遞的參數對指定數據進行加密,加密后的數據直接送入傳輸線程;如果是解密,則對指定數據解密,之后返回解密后的數據地址指針以及數據長度。
4.傳輸線程,該線程負責使用建立的傳輸通道傳送數據,由圖形界面創立,當常駐監聽線程監聽到被控端連接請求并交給圖形界面同意后或者由使用者操作圖形界面直接發起向被控端連接的請求同意后創立,該線程的基本流程如下:
首先該線程打開特定端口與被控端建立明文連接,之后建立安全通道建立線程建立安全通道,當通道建立后既進入等待中,其生命周期從建立開始到控制者操作圖形界面停止與被控端連接為止。。
5.安全通道建立線程,由傳輸線程建立。發起連接者不同,建立條件也有差異。其操作流程如下:
首先被控端使用控制端公鑰加密得到的隨機對稱式密鑰K1并發送至控制端,之后控制端使用公鑰解密得到K1并用K1加密K1,將密文發送至被控端,然后被控端用K1解密密文并與K1進行比較,判斷是否正確,如果正確,那么建立連接,使用的通信密鑰為K1。如果由連接請求是由控制端發起,則多加一個控制端要求被控端發起連接的公開請求過程。
四、被控端具體設計
被控端與控制端有著諸多的相同點,包括常駐監聽線程、加密服務線程、傳輸線程、安全通道建立線程。不同的是被控端沒有圖形界面,所有的操作全部為后臺進行,而且被控端多加了自我保護服務,用以保護被控端的可控性。其不同的地方設計如下:
(一)后臺操作線程。該線程起到的功能相當于控制端的圖形界面所起到的中樞功能。當該線程接受到控制端發送過來的指令時,首先做的也是解密翻譯,之后根據命令的不同執行不同的操作。操作有以下幾類:
1.直接交由操作系統執行命令并記錄返回情況;2.控制計算機的輸入設備并記錄返回情況;3.控制計算機的輸出設備并記錄返回情況;4.向控制端發送記錄的返回情況。
(二)自我保護線程。該線程設計運行于計算機的RING0層,并運用ROOKIT手法以及軟件安全技術屏蔽一切對本線程不利的操作,用以保證被控端的可控性。其監控方面有以下幾個:
1.計算機驅動的加載;2.輸入輸出設備;3.文件系統變動;4.應用程序的危險操作。
通過以上的防護措施,基本上可以保證控制端對于被控端的控制,達到遠程控制的目的。
參考文獻
[1]田鵬.基于WEB的遠程控制系統設計[D].蘭州大學,2011
[2]馬強.計算機網絡遠程控制系統的研究與應用[D].中國地質大學,2007
[3]王濤.基于安全模式的軟件安全設計方法[D].吉林大學,2011
[4]朗波,王曉青.基于計算機網絡遠程控制系統的圖像傳輸實現策略[J].青海大學學報(自然科學版),2008
[5]朱慶軍,丁志剛,呂衛陽.基于C/S模式的智能相機遠程控制系統研究[J].電氣應用,2008(08)
總結
以上是生活随笔為你收集整理的工业计算机远程控制,基于SOCKET技术的计算机远程控制实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux复制文件到usb设备中,使用s
- 下一篇: 源码里没有configure_深入源码理