遠程桌面協議

遠程桌面協議

遠程桌面協議(RDP)是一個多通道(multi-channel)的協議,讓使用者(所在計算機稱為用戶端或'本地計算機')連上提供微軟終端機服務的計算機(稱為服務端或'遠程計算機')。

大部分的Windows版本都有用戶端所需軟體,有些其他操作系統也有這些用戶端軟體,例如Linux,FreeBSDMacOSX,服務端計算機方面,則聽取送到TCPport3389的數據。

主要內容


遠程桌面是方便windows伺服器管理員對伺服器進行基於圖形界面的遠程管理。遠程桌面是基於RDP(RemoteDesktopProtocol遠程桌面協議)的。

版本概念


RDP的設計建構於ITUT.share協議(又稱為T.128),發展以來各個版本大致為
Version4.0:這是第一個版本。隨同終端機服務(TerminalServices)出現在WindowsNT4.0Server,TerminalServerEdition.Version5.0:由Windows2000Server提供。加入了許多新功能,包括列印到用戶端印表機,針對網路帶寬使用的改進等等.
Version5.1:由WindowsXPProfessional提供。支持24位顏色顯示及聲音的支持.
Version5.2:由WindowsServer2003提供,包括了consolemodeconnections,sessiondirectory,以及用戶端資源的引用.WindowsCE5.0及6.0均有這個版本的用戶端部分.(WindowsCE沒有作為服務端的功能)
Version6.0:這是最新的版本,必須有WindowsVista或WindowsServer2008.包括許多重大改進,最值得注意的是可以從遠程使用單一應用程序,而非整個桌面;以及32位顏色顯示的支持.
遠程桌面協議
遠程桌面協議

各種功能


多種顯示支持,包括8,15,16,24,32位色.
128位加密,使用RC4加密演演算法(此為內定的加密方式;比較舊版的用戶端可能使用較弱的加密強度).
支持TLS(TransportLayerSecurity)(前身為SSL).
聲音轉向(redirection)支持,使用者可以在遠程計算機執行有聲音的應用程序,但是將聲音導引至用戶端計算機來聽.
文件系統轉向支持,使用者可在使用遠程計算機的過程中,引用本地(用戶端)計算機上的文件系統.
印表機轉向支持,在使用遠程計算機時,可以使用本地(用戶端)計算機上的印表機輸出,包括直接連在用戶端計算機的印表機或網路共享印表機.
通訊埠轉向支持,遠程計算機上的應用程序可以使用本地(用戶端)計算機上的序列埠或平行埠.
Windows的剪貼板數據可以在遠程及本地計算機之間互通

諸多優點


與遠程桌面協議兼容的客戶端可在多種操作系統上運行,許多Linux系統上甚至將RDP客戶端功能列為核心功能之一。此外,用戶也不一定要有寬頻網路才能連上他們的遠程電腦桌面,RDP即使在56K撥接網路下,都還可以提供每秒更新五到六個畫面的效果。

版本型號


RDP的設計建構於國際電信聯盟T.share協議(又稱為T.128),發展以來各個版本大致為
4.0版:這是第一個版本。隨同終端機服務(TerminalServices)出現在WindowsNT4.0Server、TerminalServerEdition。
5.0版:由Windows2000Server提供。加入了許多新功能,包括列印到客戶端印表機,針對網路帶寬使用的改進等等。
5.1版:由WindowsXPProfessional(XPHome不支持服務端功能)提供。支持24位顏色顯示及聲音的支持。
5.2版:由Windows Serve r2003提供,包括了consolemodeconnections,sessiondirectory,以及客戶端資源的取用。Windows CE5.0及6.0均有這個版本的客戶端部分,但Windows CE沒有作為服務端的功能。
6.0版:必須要有WindowsXP SP2或Windows Server 2003SP1/SP2或WindowsXP Professionalx 64Edition。
6.1版:必須要有Windows Server 2008或Windows Vista SP1或Windows XP SP3(或SP2之後安裝過KB952155的更新檔)。
7.0版:這是最新的版本,必須要有Windows Server 2008 R2或Windows 7,Windows Vista SP1或Windows XP SP3(需安裝過KB969084的更新檔)。

60版新功能


遠程應用程序:客戶端電腦上特定文件格式的相關應用程序可以在遠程電腦上。
無縫隙窗口:在客戶端電腦上可以直接運行在遠程電腦上的應用程序。(不用先連上整個遠程電腦的桌面)
終端伺服器網關:可以使用front-endIISserver,經由https,來連接back-end TerminalServicesservers。
支持遠程WindowsAero畫面
支持遠程的Windows Presentation Foundation應用程序:兼容的客戶端如果支持.NETFramework3.0就能在本地電腦上顯示完整的WindowsPresentationFoundation效果。
周邊設備轉向經過重新設計,可以使用更多樣的設備。
經由WMI(WindowsManagementInstrumentation),所有終端服務都可以configure,都可scriptable。
針對客戶端做帶寬調整。
支持32位顯示。
支持雙顯示器,包括寬屏幕顯示。
支持IPv6協議,可以工作在純IPv6的TCP/IP網路環境中。

第三方客戶端


mRemoteMultiDesk
RemoteDesktopOrganizer
Terminals

另見詳細操作


rdesktop是linux下支持Windows遠程桌面連接的客戶端程序,在linux系統下可通過它遠程訪問Windows桌面,支持多種版本。rdesktop是sourceforge下支持GPL協議的一個開源項目,採用RDP(Remote Desktop Protocol,遠程桌面協議),幾乎可以連接windows的所有版本,諸如NT 4 Terminal Server, 2000, XP, 2003, 2003 R2, Vista, 2008, 7, and 2008 R2等。rdesktop可運行於所有的基於X window平台的Unix系統中,當前穩定版本是1.7.0.
具體使用方法要先打開終端,然後輸入以下命令:
rdesktop -u yournape -p password -g 1024*720 192.168.0.2
rdesktop為使用遠程桌面連接的命令;
-u 用戶名,yourname處為目標客戶端的用戶名;
-p 客戶端用戶的密碼;
-g 解析度,中間用“x”連接,可省略,省略后默認為全屏顯示;
192.168.0.1 目標客戶端的IP地址
TerminalServices
CitrixMetaFrame
IndependentComputingArchitecture
X窗口系統
VNC
NXtechnology
rdesktop

使用摘要


遠程桌面連接代碼
screenmodeid:i:2
desktopwidth:i:1152
desktopheight:i:864
sessionbpp:i:16
winposstr:s:0,1,0,0,800,600
fulladdress:s:192.168.1.88
compression:i:1
keyboardhook:i:2
audiomode:i:0
redirectdrives:i:0
redirectprinters:i:1
redirectcomports:i:0
redirectsmartcards:i:1
displayconnectionbar:i:1
autoreconnectionenabled:i:1
username:s:Administrator
domain:s:SERVER-UOMYLEG3
alternateshell:s:
shellworkingdirectory:s:
disablewallpaper:i:1
disablefullwindowdrag:i:1
disablemenuanims:i:1
disablethemes:i:0
disablecursorsetting:i:0
bitmapcachepersistenable:i:1
這些代碼用記事本另存為*.rdp就行了.
XP遠程桌面mstsc和帶參數的mstsc/console的差別
原來我所一直用的所謂的遠程桌面,其實算是虛擬的桌面(是另一個桌面),並不是遠程主機顯示器正顯示的桌面。mstsc和mstsc/console兩個命令所連接的遠程桌面,其實是截然不同滴。前者mstsc連接上遠程主機后,本地主機所看到的遠程主機的桌面其實是一個虛擬桌面,正如前面所說,並非是遠程主機顯示器此時顯示的桌面,而是精簡化之後滴,除了開機就運行的一些程序外,其實在開機之後手動運行的程序是不會顯示的,此時遠程主機並不會註銷當前用戶並鎖定桌面,而且此在遠程主機上的所有操作(這裡的操作是說非修改性的操作,比如運行程序,下同)都不會影響本地的使用(當然如刪除相關文件則例外)。而帶參數mstsc/console則不同,當本地通過此命令連接上遠程主機的時候,遠程主機便會立即註銷當前登陸使用的用戶並鎖定桌面,而在遠程主機上的相關操作都將影響本地的使用,也就是說,當遠程主機重新登陸用戶的時候,本地將斷開與之的連接。
但是它們倆都有個共同點,即在主機上面的操作與修改都將會被記錄並保存。其實我今天想說的主要是mstsc,為什麼呢?因為只要你的終端連接的個數沒有達到上限,你可以在一台電腦上同時用它連接同一台遠程PC(那這又有什麼用呢?),剛才不是說了嗎,你mstsc遠程上去之後所運行的程序都不會在遠程主機上實際運行,那麼第二個mstsc上去之後,在終端上將不會看到第一個mstsc運行的程序。舉個例子,如果你第一個mstsc上去之後,登陸一個QQXX,然後你再在第二個mstsc上去,你將看不到QQ程序在運行,且當你同樣登陸QQXX,那麼,你將會在第一個mstsc上去的終端上看到提示說QQ在別處登陸(納悶兒不是,都是遠程連接在同一台主機上運行的程序,為什麼會這樣呢)。