.按鍵“Win + R” 彈出對話框,輸入“regedit”
2.找到以下目錄層級,雙擊“PortNumber”文件,修改默認值“3389”
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\
3.找到以下目錄層級,雙擊“PortNumber”文件,修改默認值“3389”
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Tenninal Server\WinStations\RDP-Tcp
提示:需要在防火墻修改端口,否則無法遠程連接。
RDP,遠程顯示協議(Remote Display Protocol )簡稱RDP。
提供了客戶和服務器之間的連接。該協議是對國際電信聯盟發布的一個國際標準的多通道會議協議T.120 的一個擴展。Shadow Session,映像會話是MetaFrame 的一項重要功能,用戶可以通過這項功能映像其它用戶的桌面。管理員可以通過映像會話指導用戶使用軟件和系統,也可以用來監視客戶機運行情況。MetaFrame 的這一項功能可以實現一對一、一對多、多對多等功能。Windows 2000 Server 中的遠程管理功能與此相似,但只能實現一對一。RDP是微軟終端服務應用的協議,服務端基于win2000/winNT。協議基于T.128(T.120協議族)提供多通道通信。在客戶端支持多種資源緩沖和圖片數據的壓縮處理,運用RDP協議的虛擬化平臺有VMware、Microsoft等[1] 。
協議通過TCP/IP進行數據傳輸,在實際數據前進行了ISO/MCS/SEC三層的包裝,ISO/MCS兩層為多點并發式通信提供了可靠的傳輸保障,SEC層提供對RDP詳細數據的加解密處理。各層在數據的前端加有一段數據頭,用于對數據、傳輸的控制。具體的數據控制由STREAM類型的結構體管理(這種方法很靈活、易懂,可作為網絡編程者的參考),不同的數據頭由不同的結構成員管理,層次清晰。RDP協議將終端虛擬環境中的設備映射為不同的數據包,將對設備的輸入輸出(I/O)重定向到網絡句柄中,不同設備的數據按不同格式組織成為小的數據包,并將多個小數據包封裝成為一個大的數據包通過網絡一次性發出,對方將網絡解收的數據進行分解成為小包并按設備數據的類型進行不同的處理。
windows從NT開始提供終端服務,它是微軟買來的網絡協議技術(Citrix),服務器端要安裝、配置,客戶端要連接程序。終端服務使任何一臺有權限的終端機,用已知的賬號登錄服務器,可以使用賬號內的資源,包括軟件,硬件資源;同時,在協議升級后,客戶端連接后可以使用本地的資源,包括本地打印機、聲音本地回放,本地磁盤資源和本地硬件接口。所有的計算都在服務器端進行,客戶端只需要處理網絡連接、接收數據、界面顯示和設備數據輸出。
二、概述
1 版本功能說明: RDP協議在終端服務推出后已有四個版本,4.0、5.0、5.1、5.2。一般來說,版本是根據windows的版本確定的。 從客戶端的角度來說,5.X版本間提供的功能差別不是很大,相對于4.0版本,它提供了用戶帶密碼直接登錄、客戶端驅動器資源映射、客戶端音頻回放、最高24位色顯示和符合FIPS加密級別連接。 另外,從4.0協議開始變提供的客戶端功能有:高、中、低三種數據加密級別,客戶端自定義初始登錄環境,客戶端打印機映射,客戶端LPT端口映射,客戶端com端口映射,剪貼板映射,客戶登錄的個性化設置(包括鍵盤、顯示界面大小等)。
2、協議層次說明: 通過破解研究,我們掌握了RDP協議的基本層次結構。基本上,RDP協議的每一層次上都標示出其層內的數據長度值。 對于層次劃分,主要是指RDP協議網絡功能數據傳送時通常都包含的各層次,而對于各層次內所實現的單層次連接等功能將作為單獨的模塊來進行闡述。 網絡連接層:RDP協議建立在TCP/IP協議之上,由于傳輸的數據量比較大,因此在協議的底層首先定義一層網絡連接層。它定義了一個完整的RDP數據邏輯包,以避免由于網絡包長度過長而被分割使數據丟失。 ISO數據層:在網絡連接層之上是ISO數據層,它表示RDP數據的正常連接通信。 虛擬通道層:在ISO數據層之上,RDP協議定義一個虛擬通道層,用以拆分標示不同虛擬通道的數據,加快客戶端處理速度,節省占用網絡接口的時間。 加密解密層:在虛擬通道層之上,RDP定義一個數據加密解密層。此層用于對所有的功能數據進行加密、解密處理。 功能數據層:在加密解密層之上是功能數據,畫面信息,本地資源轉換,聲音數據,打印數據等所有的功能數據信息都在此層進行處理。另外,根據數據類型的不同,這些數據都有各自不同層次的分割,他們的內部層次結構將在各個功能模塊中進行闡述。
3 其它說明: 本協議解析中所提到的各層次結構都是指RDP功能數據正常傳送時的各底層結構,在功能數據傳送前的各層次的建立連接過程及其結構、實現都歸于模塊實現來進行說明。 對于服務器端的各種設置以及個版本間的內部實現差異請看RDP幫助文檔,以及rdpwin開發文檔。
4 連接過程說明:
1) 客戶端連接服務器
2) ISO數據層建立連接
3) 發送初始協議相關信息,接收加密、解密密鑰
4) 虛擬通道申請
5) 加密形式發送客戶端系統信息,同時驗證加密協議
6) 平臺軟件證書驗證
7) 各功能建立連接,各功能數據傳輸,功能實現
三、網絡層次:
1 網絡連接層: 在RDP協議網絡實現連接中,本層的數據格式是固定的。 內容 協議版本號 保留 此邏輯包長度
字節數 1 1 2
值 當前版本皆是3 0 邏輯長度,從版本號開始到本包結束
2 ISO數據層: 在RDP功能數據網絡傳輸中,本層的數據格式是固定的。 內容 單層數據長度 ISO包類型 標志
字節數 1 1 1
值 2,從下字節開始計算 0xf0,表示數據 0x80
3 虛擬通道層: 虛擬通道層用于在正常的網絡連接數據之上,中個虛擬通道的功能數據。此層次的連接另見初始連接模塊與通道申請模塊,在此只說明正常數據連接時的層次結構。
1) 結構信息: 內容 類型 虛擬通道個數 虛擬通道號 標志
字節數 1 2 2 1
值 0x64/0x68 0x0001 0x03eb至0x03ee 0x70/0xf0
2) 類型說明: 0x64:客戶端發送數據 0x68:客戶端接收數據 3) 用戶號說明: 本次連接的用戶號,服務器發送的是0x0001;客戶端所發送的值是初始連接時請示通道后服務器同意開通的虛擬個數。 4) 虛擬通道號說明: 虛擬通道號是本層次以上所發送的功能數據所在的虛擬通道號,其由初始連接通道申請建立時確定。 5) 標志說明: 客戶端發送的標志為0x70;服務器端發送的標志,當功能數據是圖像是(由通道號識別),其值為0x70,當功能數據是其它數據時,其值為0xf0。
4 加密解密層: 加密解密層用于對網絡連接中所發送、接收的數據進行加密、解密。為保證數據和系統的安全性,對網絡數據進行加密傳輸是比較常用且必然的,RDP協議在此層對實際的功能數據進行加密。
1) 結構信息: 內容 單層及層上數據總長度 加密標志 未知標志數字簽名
字節數 1-2 2 2 8
值 從下字節開始計算 0x0800 0x1000/0x0203 順序取得
2) 總長度說明: 若長度大于0x7f,則長度以兩字節表示,并按位與0x8000。這是由于版本升級贊成的格式不統一,長度不定,當前版本認為長度值不大于0x0fff(4095)因此只用長度值并按位與0x8000實現版本兼容,在版本升級后會以0x8x表示長度值的字節數,其中8表示非1字節,x表示具體的字節個數。
3) 加密標志說明: RDP協議要求在正常的功能連接實現之前,首先licence認證,其標志為0x8xxx,且其后數據不同于正常功能數據傳輸式的加密層格式,可以視licence認證為加密解密層的建立連接過程。另外功能數據的加密、解密的密鑰是在初始連接時獲得的,而加密解密功能的實現由加密、解密模塊闡述。
4) 未知標志說明: 服務器端發送過來的未知數據有兩種,目前不知其意,客戶端在發送數據時將其置為0x0000值。
5) 數字簽名說明: 對所有的加密數據在此放置8字節數字簽名。其值由RC4會話鍵值和功能數據經過SHA運算和MD5運算得到。
5 功能數據層: 功能數據是客戶端與服務器進行交互的真正數據。他們都有各自固定格式,連接、控制方式,具體情況見各功能模塊的說明。 根據當前我們所掌握的信息,RDP協議將圖像信息、聲音信息、設備信息、剪貼板內容都各自以單一的虛擬通道進行傳送,而打印機映射,磁盤映射,端口映射都做為設備信息的內容進行處理。限于當前左上角工作和項目工作的限度,設備信息中只考慮了打印機映射的部分,對于打印機信息與其他的設備相關的信息沒有進行有效隔離區分,而本協議說明中相關的連接信息、數據傳送都只認為是打印機映射的內容