基於Tcp穿越的Windows遠程桌面(遠程桌面管理工具)
1.《C# WinForm 跨線程訪問控件(實用簡潔寫法)》
2.《基於.NET環境,C#語言 實現 TCP NAT》
3.《基於Tcp穿越的Windows遠程桌面(遠程桌面管理工具)》
距離上一篇文章《基於.NET環境,C#語言 實現 TCP NAT》已經很久沒有發隨筆了,而且文章閱讀量不高,可能很多人對Tcp穿越不感興趣。今天這篇文章是基於上一篇文章做的應用,一個遠程桌面管理工具。
很多人肯定會說,免費且功能齊全的遠程管理工具到處都是,何必再寫一個呢?既然免費且管理功能齊全的遠程桌面管理已經很多,筆者肯定不走尋常路,要不然根本沒有必要寫這篇博客了。話太啰嗦,還是先看看
界面吧,然后慢慢給各位道來。
我要做的遠程桌面工具,除了具備常規遠程桌面的功能外,最重要的,它是基於Tcp穿越和中繼服務的,最終實現類似TeamViewer的功能。
我們分析一下常規遠程桌面的利弊:
1)直連模式 你必須開啟遠程桌面端口3389,客戶端跟被控計算機必須處於局域網或者被控制計算機有固定IP並做了相關路由映射設置。
2)安全風險 既然你能連接被控端,別人也能連接。特別是服務器,只要鏈路是通暢的,別人可以不斷的連接並嘗試密碼,當然攻擊手段
很多,不止這一種。不管怎么說,你肯定將遠程桌面服務暴露到了互聯網或者局域網。比如修改3389端口之類的,都是治標
不治本的事情。
3)可連接性 如果我現在人在公司,我要遠程連接家里面的電腦怎么辦?或者我要維護客戶公司里面的服務器,但服務器又沒有固定Ip,
通過常規工具無法連接的,只能用類(Teamviewer)的桌面分享工作。
4)畫面流暢
解決方案當然有,像Teamviewer類似的桌面分享工具就可以解決這個問題。但如果你是公司行為,管理很多服務器,Teamviewer的價格還
是不便宜。比如筆者公司做醫葯ERP項目,客戶就非常多,經常維護服務器,很多醫葯批發公司都將服務器置於內網。可連接性是一個問題,
另外記住用戶名和密碼也是一個問題。
筆者寫的這個遠程桌面工具,除了普通管理功能外,最重要的一點,就是像Teamviewer一樣,解決了連接性的問題。只要這台計算機能上網,
並開啟了遠程桌面服務,你就可以從任何一個地方進行遠程桌面連接到這台電腦。
本工具解決了以下問題:
1)安全風險 你不需要固定IP,也不需要做3389端口映射,不用將遠程桌面服務暴露到互聯網中。注:別人想通過遠程桌面服務攻擊你,都
找不到入口點。
2)可連接性 只要被控計算能上網,你就能遠程桌面連接到該電腦。為確保可連接性,我們做了兩種模式,P2P穿越和中繼模式,確保100%
能連接到被控計算機。首選是P2P穿越模式,穿越不成功的情況下,我們做中繼服務,也就是數據流通過我們公司的服務器進行
中轉。有人肯定會說,通過中繼模式,數據都到你服務器了,會不會有安全風險?理論上有,只是我還沒有實力去解析Rdp協議
3)畫面流暢 Rdp協議本身數據傳輸量就很小,畫面就比較流暢。個人覺得比其它遠程分享協議都好。
4)數據壓縮 底層傳輸的Rdp協議數據,我們都采動態識別和壓縮技術。舉個例子,我們通過遠程桌面向另外一台服務器復制一個SqlServer數
據文件,通常做法都是先壓縮成一個包,再傳輸。畢竟這種文件一般較大,而通過我們的工具傳輸,你不用壓縮了,只管理復制
和粘貼,底層會自動壓縮數據,不用像以前一樣經常壓縮和解壓縮。壓縮和解壓在傳輸過程中已經自動完成。方便使用者。這一
點需求,也是從我們公司長期使用遠程桌面的操作中總結出來的,如果文件大,壓縮都需要很長的時間。關鍵是傳輸過去,對方
計算機還不一定有解壓軟件。有時候只為做一件簡單的事情,卻搞得很復雜。關鍵是別人的服務器,還不一定讓你裝軟件。
另外我們做了像TeamViewer一樣的連接碼,你只需要將碼發給您的朋友,他就可以通過本工具連接到您的計算機。說到底,我們應用層就用的
微軟的桌面控件,但底層數據傳輸,我們做了加工,通過什么通道,怎么傳輸,由工具負責。
附1:目前應用層已經實現了遠程桌面的所有的功能,您一個帳號可以管理多台計算機,數據傳輸層也實現了穿越和中繼以及直連模式,正常
使用是完全沒有問題的。對於后期的規划,可能會增加桌面分享的功能,類似QQ和TeamViewer的功能。TeamViewer算是一個小工具,
而且是國外的,在中國應該沒有少掙錢,但國內類似的軟件卻基本沒有。所以,我個人打算做一款軟件,包含TeamViewer的所有功能,
最好效率更高。
附2:關於P2P穿越,在實際使用中,發現有些運營商會禁止使用P2P穿越技術,但只要持續進行P2P連接嘗試,很多時候都會成功。所以本
軟件實現了無損通道切換的功能,比如你現在使用的是中繼連接,傳輸速度受中轉服務器帶寬的限制,一旦建立P2P穿越連接,我們將
自動為你切換通道,上層的畫面,數據傳輸不受任何影響,即畫面不卡頓,數據傳輸如文件傳輸不中斷。切換成P2P模式,最大的好處
在速度不受中繼服務器寬帶的限制,對我們來講,節省資源,對你來說,加快了速度,提升了效率。
如果您也正在做類似的開發工作,或者想做類似的工具,歡迎和我交流。QQ:243838541 等工具開發出來后,我會上傳到博客供下載免費使
用。