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