遠程控制方法及中介伺服器的製作方法
2023-05-13 14:58:11
專利名稱:遠程控制方法及中介伺服器的製作方法
技術領域:
本發明涉及網絡通信領域,特別涉及一種無需安裝特定客戶端就可以穿越防火牆進行遠程控制的方法及裝置。
背景技術:
遠程控制是指在網絡上由一臺電腦(也可稱主控端Remote/客戶端)遠距離去控制另一臺電腦(也可稱被控端Host/伺服器端)的技術,主要通過遠程控制軟體實現。現有技術中的遠程控制軟體有VNC (Virtual Network Computing)、網絡人Netman、DlinkPC、TeamViewer> LogMeIn和PcAnywhere等。現有的遠程控制軟體有如下缺點。第一,用戶所在地的計算機需要安裝與被控端匹配的特定客戶端軟體。用戶在沒有安裝所述特定客戶端軟體的計算機上無法遠程控制所述被控端。但是實際應用環境中,用戶經常會碰到突發情況,譬如網絡管理員在下班時間或者度假期間獲知所任職的公司的對外web伺服器突然工作異常,但是該網絡管理員周圍又沒有安裝特定客戶端的計算機,則無法遠程控制所述web伺服器。該網絡管理員只能下載安裝所述特定客戶端軟體或者儘快回到公司處理。第二,現有遠程控制軟體無法穿透網絡防火牆實現遠程控制。網絡防火牆就是一個位於被保護的計算機和外部網際網路之間的網絡安全裝置,可以是軟體防火牆也可以是硬體防火牆。被保護的計算機流入流出的所有網絡通信都要經過所述網絡防火牆,網絡防火牆可以對流經它的網絡通信進行掃描,這樣能夠過濾掉一些攻擊,以免其在被保護的計算機上被執行。網絡防火牆還可以關閉不使用的埠。而且它還能禁止特定埠的流出通信,封鎖特洛伊木馬。最後,它可以禁止來自特殊站點的訪問,從而防止來自不明入侵者的所有通信。也就是說,作為網絡防火牆,其本身就包括防止不明身份入侵者的遠程控制的功能,當用戶利用遠程控制軟體想要達到遠程控制被保護的計算機時,會被網絡防火牆認為是入侵行為而阻止。現有技術中還沒有很好的方法來解決此類問題。因此,有必要提出一種新的技術方案來解決上述缺點。
發明內容本部分的目的在於概述本發明的實施例的一些方面以及簡要介紹一些較佳實施例。在本部分以及本申請的說明書摘要和發明名稱中可能會做些簡化或省略以避免使本部分、說明書摘要和發明名稱的目的模糊,而這種簡化或省略不能用於限制本發明的範圍。本發明的一個目的在於提供一種遠程控制方法,一方面用戶不需要安裝特定客戶端軟體,另一方面所述遠程控制方法可以穿透網絡防火牆實現遠程控制。本發明的另一目的在於提供一種中介伺服器,用戶可以利用瀏覽器訪問所述中介伺服器,進而達到遠程控制處於防火牆內部的內網終端的目的。為了達到本發明的目的,本發明提供一種遠程控制方法,用於用戶終端遠程控制位於防火牆內部的內網終端,所述遠程控制方法包括預先在外網設定擁有內網終端訪問、權限的中介伺服器;所述中介伺服器接收用戶終端的遠程訪問信息;所述中介伺服器根據所述遠程訪問信息分別建立與用戶終端之間、和與所述內網終端之間的連接;所述中介伺服器在所述連接成功後向用戶終端發送用於訪問所述內網終端的圖形用戶接口 ;和用戶利用所述圖形用戶接口遠程控制所述內網終端。進一步地,所述中介伺服器接收用戶的遠程訪問信息包括所述中介伺服器接收用戶終端的登陸信息;所述中介伺服器驗證所述登陸信息正確時返回可供用戶遠程控制的內網終端的相關信息;和所述中介伺服器接收用戶終端發送的遠程訪問信息,其中,所述遠程訪問信息包含了用戶欲遠程控制的內網終端的相關信息。進一步地,所述登陸信息包括用戶名和密碼,所述可供用戶遠程控制的內網終端為一個或者多個。進一步地,所述中介伺服器根據所述遠程訪問信息分別建立與用戶終端之間、和與所述內網終端之間的的連接為套接字連接,所述圖形用戶接口採用擴展遠程幀緩衝協 議,所述圖形用戶接口包括所述內網終端的實時用戶界面。進一步地,所述用戶利用所述圖形用戶接口遠程控制所述內網終端包括用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述內網終端;所述內網終端的實時用戶界面被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述用戶。進一步地,所述用戶利用瀏覽器發送遠程訪問信息、查看圖形用戶接口和在所述圖形用戶接口上進行輸入操作。根據本發明的另一方面,本發明還提供一種中介伺服器,所述中介伺服器擁有訪問位於防火牆內的內網終端的權限,所述中介伺服器包括信息接收模塊,接收用戶終端的遠程訪問信息;套接字連接模塊,根據所述遠程訪問信息分別建立與用戶終端之間、和與用戶欲遠程控制的內網終端之間的套接字連接;和圖形界面提供模塊,在所述套接字連接成功後提供給用戶終端訪問所述內網終端的圖形用戶接口,其中,所述遠程訪問信息包含了用戶欲遠程控制的內網終端的相關信息。進一步地,所述中介伺服器還包括用戶登錄模塊,接收並驗證用戶終端的登錄信息;和服務提供模塊,在用戶登錄後提供可供用戶遠程控制的內網終端的相關信息。進一步地,所述可供用戶遠程控制的內網終端為一個或者多個。進一步地,所述圖形界面提供模塊利用Adobe Flex技術生成包含所述圖形用戶接口的網頁。進一步地,所述圖形用戶接口採用擴展遠程幀緩衝協議,所述圖形用戶接口包括所述內網終端的實時用戶界面,用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述內網終端;所述內網終端的實時用戶界面被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述用戶。與現有技術相比,所述遠程控制方法採用預先設定的擁有內網終端訪問權限的中介伺服器來構建用戶與遠程控制的內網終端之間的通信通道,可以實現穿透網絡防火牆的目的,同時採用網頁的形式來提供圖形用戶接口給用戶,使用戶能夠不需要客戶端就可以實現遠程控制,有效提高了用戶體驗。使用所述中介伺服器來作為遠程控制過程中的「中介」或者「跳板」,具有與所述遠程控制方法相同的優點。
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖I為本發明的一個實施例中 的遠程控制系統的結構示意圖;圖2為本發明的一個實施例中的遠程控制方法的方法流程圖;和圖3為本發明的一個實施例中的中介伺服器的結構方框圖。
具體實施方式為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。本發明中的遠程控制方法及中介伺服器可以通過軟體、硬體或者兩者的組合實現成為一個模塊、一個系統或者一個系統的一部分。請參考圖1,其示出了本發明的一個實施例中的遠程控制系統100的結構示意圖。所述遠程控制系統100包括用戶終端120、中介伺服器140和內網終端160,以及設置在內網終端160外圍的網絡防火牆180。所述用戶終端120可以是位於網絡防火牆180外部被用戶使用的手持式電子設備、筆記本、個人電腦或者伺服器之類的計算機設備。所述計算機設備可以採用Unix系統、Linux系統、Android系統、Windows系統或者Mac系統。所述計算機設備應當接入網絡,並且具有瀏覽網頁的功能。所述中介伺服器140為預先設定的擁有內網終端訪問權限的伺服器。在一個實施例中,網絡管理員通過對網絡防火牆180上設置相關的防火牆策略,允許外網的某一臺個人電腦或者伺服器等擁有通過所述網絡防火牆180的權限。所述防火牆策略可以是允許所述中介伺服器140擁有所有可用埠和協議的通過權限,也可以是允許所述中介伺服器140擁有相關埠或者協議的通過權限。所述網絡防火牆180可以是軟體防火牆或者硬體防火牆。被所述網絡防火牆180所保護的網絡稱之為內網,被所述網絡防火牆180隔絕並與內網相對的網絡為外網。所述網絡防火牆180可以是設置在某一公司的網頁伺服器、郵件伺服器和數據伺服器等伺服器與外界網際網路之間的硬體防火牆,所述網絡防火牆180還可以是另一公司職員自身電腦上的軟體防火牆(該公司未設置其他防火牆)等。所述網絡防火牆180可以由網絡管理員設置有關數據包、通信協議、應用程式使用的埠等方面的防火牆策略。所述網絡防火牆180可能是多個,但是只要遠程控制所經過的每個網絡防火牆180都設置相關的防火牆策略,可以使所述中介伺服器140擁有訪問最終用戶想要遠程控制的計算機設備即可。為了便於描述本發明,本文默認所述網絡防火牆180為一個。所述內網終端160可以是位於網絡防火牆180內部被保護的手持式電子設備、筆記本、個人電腦或者伺服器之類的計算機設備。所述計算機設備可以採用Unix系統、Linux系統、Android系統、Windows系統或者Mac系統。所述內網終端160通常為某一公司的網頁伺服器、郵件伺服器和數據伺服器等伺服器。在本實施例中,用戶利用所述用戶終端120來遠程控制所述內網終端160。所述用戶終端120可以是處於外網的任意一臺計算機設備。所述用戶終端120可以不安裝特定客戶端軟體,用戶可以在所述用戶終端120上完成所有遠程控制的相關操作。請結合圖I繼續參考圖2,圖2示出了本發明的一個實施例中的遠程控制方法200的方法流程圖。所述遠程控制方法200包括步驟210,預先在外網設定擁有內網終端訪問權限的中介伺服器140 ;用戶預先設定一個中介伺服器140,所述中介伺服器140擁有訪問位於網絡防火牆180內部的內網終端160的權限。所述中介伺服器140的結構和實現方式在下文將做詳細描述。 步驟220,所述中介伺服器140接收用戶的遠程訪問信息;用戶在需要進行遠程控制時,可以在所處環境任意尋找一臺與網絡相連的計算機設備作為外網設備120,然後用戶在所述外網設備120的瀏覽器中打開訪問所述中介伺服器140的網頁,並輸入用戶名和密碼等登陸信息,所述中介伺服器140接收用戶的登陸信息。然後所述中介伺服器140驗證所述登陸信息是否正確,並在所述登陸信息正確時返回可供用戶遠程控制的內網終端的相關信息,譬如,在一個實施例中,所述中介伺服器以在網 頁中逐個羅列相應圖標的方式提供可供用戶遠程控制的內網終端。用戶可以根據自己的需要,選擇其中的一個內網終端作為欲遠程控制的對象,然後發出遠程訪問信息,所述遠程訪問信息包含了用戶欲遠程控制的內網終端的相關信息。在一個實施例中,用戶可以用滑鼠雙擊網頁上的代表用戶欲遠程控制的內網終端的圖標,然後網頁就將包含該內網終端的識別信息的遠程訪問信息發送給所述中介伺服器140。所述中介伺服器140接收用戶發送的遠程訪問信息。步驟230,所述中介伺服器140根據所述遠程訪問信息分別建立與用戶之間、和與所述內網終端之間的連接;所述中介伺服器140在接收到用戶的遠程訪問信息時,分析其中的內網終端的相關信息以確認用戶欲遠程控制的內網終端。在一個實施例中,所述內網終端的相關信息可以是所述內網終端的ip地址和某一埠。然後所述中介伺服器140分別建立所述中介伺服器140與用戶終端120之間、所述中介伺服器140與用戶欲遠程控制的內網終端160之間的套接字連接。套接字連接也稱「socket連接」, socket連接是兩臺計算機設備進行網絡通信常用的技術,其原理是連接雙方通過對方的ip地址和特定埠實現網絡通信通道的建立,應用程式可以通過「套接字連接」向網絡發出請求或應答網絡請求。所述socket連接的具體建立是本領域技術人員所熟知的內容,在此不再累述。所述中介伺服器140建立分別建立好所述中介伺服器140與用戶終端120之間、所述中介伺服器140與用戶欲遠程控制的內網終端160之間的套接字連接後,相當於在所述用戶終端120和所述內網終端140之間建立了一條網絡通信通道,在該過程中所述中介伺服器140充當了「中介」或者「跳板」的作用。步驟240,所述中介伺服器140在所述連接成功後向用戶發送用於訪問所述內網終端160的圖形用戶接口 ;
所述中介伺服器140在建立好所述套接字連接後,返回所述內網終端160的圖形用戶接口。在一個實施例中,所述中介伺服器140利用Adobe Flex技術生成包含所述圖形用戶接口的網頁提供給用戶。優選地,所述圖形用戶接口可以基於RFB協議生成。RFB ( 「Remote Frame Buffer,遠程巾貞緩衝協議」)是一個定義遠程圖形用戶終端接口的簡單協議。之所以選擇RFB協議,是因為它是以幀緩衝級別的工作方式來運行,因此它適用於所有的窗口系統,它可以支持Unix系統和Linux系統中的XII,Windows作業系統中的Windows 3. 1/95/NT和Mac系統中的Macintosh。這樣可以實現對多種作業系統的支持,而不會受限於所述內網終端160所採用的具體的作業系統。藉助RFB協議,用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包傳輸給所述內網終端160 ;而所述內網終端160的實時用戶界面則被封裝成擴展遠程幀緩衝協議數據包傳輸給所述用戶終端120中的網頁顯示。所述圖形用戶接口可以是所述內網終端160的實時用戶界面,也即通常所說的「桌面」。步驟250,用戶利用所述圖形用戶接口遠程控制所述內網終端160。 用戶在所述用戶終端120上接收到所述中介伺服器140返回的包含所述圖形用戶接口的網頁。然後用戶可以在所述網頁上進行相應的操作。具體地,用戶利用滑鼠、鍵盤或者手寫板之類的輸入設備在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器140傳輸給所述內網終端160 ;而所述內網終端160的實時用戶界面則被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器140傳輸給所述用戶終端120中的網頁顯示。綜上所述,在所述遠程控制方法200中,用戶所使用的用戶終端120不需要安裝特定的客戶端操作,只需要可以利用瀏覽器訪問網絡即可。所述圖形用戶接口採用RFB協議可以實現多作業系統的支持。並且通過所述中介伺服器140的相關處理,實現了對網絡防火牆180的「穿透」。當然,應當意識到,所述圖形用戶界面也可以使用支持某一特定的作業系統的協議來生成;所述可供用戶遠程控制的內網終端的相關信息也可以是文字信息而不是圖標信息;所述可供用戶遠程控制的內網終端可能是一個或者多個等,視不同的實施例和不同的技術人員實施,所述遠程控制方法200可能略有不同。為了進一步地描述本發明,請參考圖3,其示出了本發明的一個實施例中的中介伺服器140的結構方框圖。所述中介伺服器140包括用戶登錄模塊141、服務提供模塊142、信息接收模塊143、套接字連接模塊144和圖形界面提供模塊145。用戶登錄模塊141接收並驗證用戶的登錄信息。在一個實施例中,所述用戶登錄模塊141包括登錄信息存儲單元和登錄信息驗證單元。所述登陸信息存儲單元存儲了擁有登陸所述中介伺服器140的用戶的相應登錄信息,所述登陸信息通常為用戶名和密碼,當然也可以是人臉識別信息或者其他識別信息。所述登陸信息驗證單元驗證接收到的用戶的登錄信息是否正確,並在所述登陸信息正確時,發送驗證成功的相應信號給所述服務提供模塊142。服務提供模塊142在接收到驗證成功的相應信號後提供可供用戶遠程控制的內網終端的相關信息。所述相關信息可以是可供用戶遠程控制的內網終端的文字信息、ip地址信息、埠信息和圖標信息中的一種或者多種,在一個具體的實施例中,所述相關信息是在網頁中逐個羅列顯示的圖標,每個圖標代表一個可以被用戶遠程控制的內網終端160。即所述可供用戶遠程控制的內網終端160可以為一個或者多個。用戶可以採用框選、單擊、雙擊等輸入方式選擇所述相關信息而發出遠程訪問信息,所述遠程訪問信息能夠使所述中介伺服器140確定用戶欲遠程控制的是哪臺內網終端160。信息接收模塊143接收用戶的遠程訪問信息。所述信息接收模塊143在接收到所述遠程訪問信息後將其中的用戶欲遠程控制的內網終端160的相關信息提取出來,在一個實施例中,所述相關信息就是所述內網終端160的網絡ip地址和埠信息。套接字連接模塊144根據所述遠程訪問信息分別建立所述中介伺服器140與用戶 之間、和與用戶欲遠程控制的內網終端160之間的套接字連接。在一個實施例中,所述套接字連接模塊144可以根據所述遠程訪問信息中的內網終端160的網絡ip地址和埠信息建立所述中介伺服器140與所述內網終端160之間的套接字連接。並且所述套接字連接模塊144根據所述用戶終端120的網絡地址和相應埠建立所述用戶終端120與所述中介伺服器140之間的套接字連接。圖形界面提供模塊145在所述套接字連接成功後提供給用戶訪問所述內網終端160的圖形用戶接口。具體地講,所述圖形界面提供模塊145利用Adobe Flex技術生成包含所述圖形用戶接口的網頁並經過傳輸給所述用戶終端120。在一個實施例中,所述圖形用戶接口採用擴展遠程幀緩衝協議,所述圖形用戶接口包括所述內網終端160的實時用戶界面,用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器140傳輸給所述內網終端160 ;所述內網終端160的實時用戶界面被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器140傳輸給所述用戶。上述說明已經充分揭露了本發明的具體實施方式
。需要指出的是,熟悉該領域的技術人員對本發明的具體實施方式
所做的任何改動均不脫離本發明的權利要求書的範圍。相應地,本發明的權利要求的範圍也並不僅僅局限於所述具體實施方式
。
權利要求
1.一種遠程控制方法,用於用戶終端遠程控制位於防火牆內部的內網終端,其特徵在於,其包括 預先在外網設定擁有內網終端訪問權限的中介伺服器; 所述中介伺服器接收用戶終端的遠程訪問信息; 所述中介伺服器根據所述遠程訪問信息分別建立與用戶終端之間、和與所述內網終端之間的連接; 所述中介伺服器在所述連接成功後向用戶終端發送用於訪問所述內網終端的圖形用戶接口 ;和 用戶利用所述圖形用戶接口遠程控制所述內網終端。
2.根據權利要求I所述的遠程控制方法,其特徵在於,所述中介伺服器接收用戶的遠 程訪問信息包括 所述中介伺服器接收用戶終端的登陸信息; 所述中介伺服器驗證所述登陸信息正確時返回可供用戶遠程控制的內網終端的相關信息;和 所述中介伺服器接收用戶終端的遠程訪問信息, 其中,所述遠程訪問信息包含了用戶欲遠程控制的內網終端的相關信息。
3.根據權利要求2所述的遠程控制方法,其特徵在於,所述登陸信息包括用戶名和密碼,所述可供用戶遠程控制的內網終端為一個或者多個。
4.根據權利要求I所述的遠程控制方法,其特徵在於,所述中介伺服器根據所述遠程訪問信息分別建立與用戶終端之間、和與所述內網終端之間的連接為套接字連接,所述圖形用戶接口採用擴展遠程幀緩衝協議,所述圖形用戶接口包括所述內網終端的實時用戶界面。
5.根據權利要求4所述的遠程控制方法,其特徵在於,所述用戶利用所述圖形用戶接口遠程控制所述內網終端包括 用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述內網終端; 所述內網終端的實時用戶界面被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述用戶。
6.根據權利要求I至5任一所述的遠程控制方法,其特徵在於,所述用戶利用瀏覽器發送遠程訪問信息、查看圖形用戶接口和在所述圖形用戶接口上進行輸入操作。
7.—種中介伺服器,擁有訪問位於防火牆內的內網終端的權限,其特徵在於,其包括 信息接收模塊,接收用戶終端的遠程訪問信息; 套接字連接模塊,根據所述遠程訪問信息分別建立與用戶終端之間、和與用戶欲遠程控制的內網終端之間的套接字連接;和 圖形界面提供模塊,在所述套接字連接成功後提供給用戶終端訪問所述內網終端的圖形用戶接口, 其中,所述遠程訪問信息包含了用戶欲遠程控制的內網終端的相關信息。
8.根據權利要求7所述的中介伺服器,其特徵在於,所述中介伺服器還包括用戶登錄模塊和服務提供模塊用戶登錄模塊,接收並驗證用戶的登錄信息;和 服務提供模塊,在用戶登錄後提供可供用戶遠程控制的內網終端的相關信息。
9.根據權利要求8所述的中介伺服器,其特徵在於,所述可供用戶遠程控制的內網終端為一個或者多個。
10.根據權利要求7至9任一所述的中介伺服器,其特徵在於,所述圖形界面提供模塊利用Adobe Flex技術生成包含所述圖形用戶接口的網頁,所述圖形用戶接口採用擴展遠程幀緩衝協議,所述圖形用戶接口包括所述內網終端的實時用戶界面,用戶在所述圖形用戶接口上的輸入操作被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述內網終端;所述內網終端的實時用戶界面被封裝成擴展遠程幀緩衝協議數據包通過套接字連接經過所述中介伺服器傳輸給所述用戶。
全文摘要
本發明揭露了一種遠程控制方法,用於遠程控制位於防火牆內部的內網終端,所述方法包括預先在外網設定擁有內網終端訪問權限的中介伺服器;所述中介伺服器接收用戶終端的遠程訪問信息;所述中介伺服器根據所述遠程訪問信息分別建立與用戶終端之間、和與所述內網終端之間的連接;所述中介伺服器在所述連接成功後向用戶發送用於訪問所述內網終端的圖形用戶接口;和用戶利用所述圖形用戶接口遠程控制所述內網終端。所述遠程控制方法採用預先設定的擁有內網終端訪問權限的中介伺服器來構建用戶終端與遠程控制的內網終端之間的通信通道,可以實現穿透網絡防火牆的目的。
文檔編號H04L29/08GK102739612SQ20111009073
公開日2012年10月17日 申請日期2011年4月12日 優先權日2011年4月12日
發明者徐新傑 申請人:深圳市金蝶中間件有限公司