510 likes | 600 Views
Chapter 8 遠端桌面協定. 大綱. 簡介 終端服務連線 遠端桌面協定 .rdp 檔參數設定 RDP 註冊表設定 虛擬通道 伺服器端 客戶端 範例. 簡介. 遠端桌面協定( Remote Desktop protocol , RDP )屬於 Microsoft Windows Terminal Services 的一部份。 使用者登入終端機,執行主機電腦上的應用程式、存取檔案、資料庫和網路資源等等。 應用程式完全是在伺服器上執行,遠端桌面客戶端並無執行任何本機的應用程式。. 簡介 (cont.). 允許多個客戶端同時登入
E N D
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
簡介 • 遠端桌面協定(Remote Desktop protocol,RDP)屬於Microsoft Windows Terminal Services的一部份。 • 使用者登入終端機,執行主機電腦上的應用程式、存取檔案、資料庫和網路資源等等。 • 應用程式完全是在伺服器上執行,遠端桌面客戶端並無執行任何本機的應用程式。
簡介 (cont.) • 允許多個客戶端同時登入 • 每個客戶端連線都是獨立的 • 由主機作業系統來管理多個使用者存取共用資源的問題 • 遠端桌面與傳統終端機環境的比較: • 傳統終端機環境中的終端機只提供文字輸入與輸出 • 遠端桌面客戶端提供了完整的圖形使用者介面。 • Windows作業系統桌面。 • 支援各式各樣的輸入設備,如鍵盤與滑鼠。
議程 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
終端服務連線 • 當使用者登入遠端桌面時,啟動一個連線 • 每個連線具有唯一的連線識別碼。 • 每個連線都會產生互動視窗工作站(Interactive Window Station): • 互動視窗工作站唯一的名稱是 WinSta0。 • 每個視窗工作站都有三種標準桌面: • 視窗登入桌面 • 螢幕保護程式桌面 • 互動桌面
終端服務連線 (cont.) • 當互動使用者登出遠端桌面時,伺服器上的客戶端連線就會被刪除,相關的視窗與桌面也會被刪除。
議程 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
遠端桌面協定 • RDP是以TCP/IP作為傳送協定,在客戶端與伺服器間建立連線。 • Windows 5.0使用RDP 5.5的版本。 • RDP各版本均相容 • Windows CE .NET客戶端可以與以下伺服器連線: • Windows NT Terminal Server:RDP 4.0 • Windows 2000 Terminal Services:RDP 5.0 • Windows XP Profession Edition:RDP 5.1或更新的版本
RDP 5.5 (1/3) • 與Unicode相容 • 允許網路本地化、自動斷線與遠端設定組態 • 以客戶端bitmap快取或壓縮方式,提供可變的頻寬配置 • 支援多個虛擬通道 • 提供遠端控制功能 • 網路負載平衡(NLB)功能 • 支援高彩8位元、16位元和24位元圖形
RDP 5.5 (2/3) • 剪貼簿共享 • 將本機印表機重新導向,使遠端應用程式能將資料在本機的印表機中輸出。 • 遠端應用程式播放的聲音資料,可以在遠端或本機端播放。 • 將本機傳輸埠重新導向,使遠端應用程式可以使用本機端的平行埠與序列埠。 • 將本機檔案系統重新導向,使遠端應用程式可以使用本機端的檔案系統。
RDP 5.5 (3/3) • 支援 file redirector filter,允許顯示特定的目錄 • 提供終端服務客戶端存取使用權(TS CAL)維護工具 • 在GWES中執行
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
RDP Registery設定 • 控制終端服務的所有連線 • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client • 啟動或關閉裝置重新導向 • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\<Connection Name>\EnableDriveRedirection
RDP Registery設定 (cont.) • 終端服務客戶端 • HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client • 載入虛擬通道外接式DLL • HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client\Default\Addins\<virtual channel name>
啟動或關閉裝置重新導向 • 註冊碼=1,代表啟動(預設);0代表關閉。 • 當啟動裝置重新導向,使用者可以使用檔案重新導向過濾器(file redirection filter)來存取指定的目錄。 • 設定存取的目錄 • HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\FilterFsd • RootPath="\\"
RDP安全性 • 不在設備上儲存密碼 • 增加BbarShowPinButton註冊碼 • 小心自動執行的script • 留意註冊表設定 • 關閉終端服務的某些功能
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
虛擬通道 • RDP 5.1以後的版本都有支援。 • 客製化的資料格式,與RDP無關。使用者可直接新增功能,不用修改RDP。 • 需要虛擬通道的情況 • 核心模式的驅動程式(序列埠或印表機驅動程式) • 檔案系統重新導向 • 使用者模式的應用程式(遠端剪下與貼上) • 聲音裝置
虛擬通道 (cont.) • 虛擬通道應用程式需要客戶端和伺服器端的元件: • 伺服器端元件 • 可以是使用者模式的應用程式,或核心模式的驅動程式 • 客戶端元件 • 為動態鏈結程式庫(Dynamic Link Library,DLL) • 在建立遠端連線時,必須將DLL載入本機端的記憶體中
伺服器端 • 啟動虛擬通道應用程式 • logon script • 啟動資料夾 • 使用者手動開啟 • 在註冊表中新增WTSVirtualChannelOpen子鍵(subkey),並將應用程式名稱儲存起來 • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\Addins
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
客戶端 • 是一個動態鏈結程式庫(DLL) • 在終端服務初始化時,載入到客戶端電腦。 • 必須在客戶端電腦註冊DLL • 客戶端DLL的功能 • 當RDP在Microsoft ActiveX Control模式執行時,提供VirtualChannelEntry函式功能。 • 當RDP在GWES(Graphics Windowing and Events Subsystem)模式執行時,提供VirtualCnannelEntryEx函式功能。
虛擬通道客戶端函式- Microsoft ActiveX Control模式執行
客戶端註冊 • 使用者必須將客戶端DLL的名稱儲存在註冊表中 • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\Addins • 適合所有的連線 • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\connection\Addins • 適合指定的連線
客戶端註冊 (cont.) • Name = DLLname • DLLname可以是完整的路徑。如果DLLname不包含路徑,則會使用標準DLL搜尋方式 • RemoteControlPersistent = flag (optional) • flag=0(預設):當連線或中斷時,會發送相關事件訊號。 • flag=1:當遠端控制開始或停止時,不會發送通知。
大綱 • 簡介 • 終端服務連線 • 遠端桌面協定 • .rdp檔參數設定 • RDP註冊表設定 • 虛擬通道 • 伺服器端 • 客戶端 • 範例
範例 • 伺服器端 • 客戶端程式。
伺服器端程式 • 伺服器端 • 取得客戶端機器的系統資訊和記憶體資訊 • 每兩秒更新一次 • 當客戶端終止連線時,伺服器端便停止取得資訊 • 客戶端重新連線時,則重新啟動 • 當使用者按Ctrl+C或Ctrl+Break,伺服器端應用程式就會結束,並且發出一個事件通知,停止取得系統資訊並清除所有的外部控制。
客戶端程式 • 伺服器端應用程式傳送一個封包給客戶端DLL,判斷封包為TSVERSIONINFO或TSMEMORYINFO類型,引發worker thread,將請求封包寫入虛擬通道 • 當客戶端終止連線時,客戶端DLL會清除,worker thread會發出停止通知,如果五秒內沒有停止,就會終止。
結語 • 終端服務通話 • 遠端桌面協定 • .rdp檔參數和RDP註冊表設定 • 虛擬通道