Quantcast
Channel: 碳基体
Viewing all articles
Browse latest Browse all 75

十、TCP/IP协议分析-RDP协议

$
0
0
windows上的远程桌面协议RDP remote desktop protocol比较复杂,默认端口为3389,它封装在TPKT协议中进行传输。

TPKT数据包组成:采用大端字节序 
version 长度为1个字节 : 00-只支持classic rdp; 01-支持classic rdp和ssl ;03-除上面两个之外,还支持credssp
+ reserved 长度为1个字节
+ length 长度为2个字节 
+ 数据部分  长度为length-4

其中数据部分可以解析为
COTP协议 X.224、
multipoint-communication-service T.125
generic-conference-control T.124
RDP协议

length 长度为1个字节
+PDU Type 长度为1个字节。
 0xe0表示CR Connect Request 连接请求
 0xd0表示CC Connect Confirm 连接确认
 0xf0表示DT Data
 0x80表示DR Disconnect Request
+ 数据部分(
= Destination Reference 长度为2个字节 (不一定有)
+ Source Reference 长度为2个字节 (不一定有)
+ Class and options 长度为1个字节 (不一定有)
+其他) 长度为length-1

RDP网络层次:
1.网络连接层
 1)客户端->服务端:发送连接请求Connect Request,其中Cookie指定客户端用户名或客户端IP与port

用户名cookie的格式为:Cookie:[space]mstshash=[ANSI string][0x0d0a]
#e.g. "mstshash=apple"

tcpdump -r rdp_single.pcap -X dst port 3389 and tcp[37] == 0xe0

十、TCP/IP协议分析-RDP协议 - 碳基体 - 碳基体
 
IP cookie的格式为:Cookie:[space]msts=[ip address].[port].[reserved][0x0d0a] 
#e.g. "msts=420247818.15629.0000";
420247818表示IP
转化成点分制: hex(420247818)=0x190c790a; int('0a',base=16)=10,int('79',base=16)=121,
int('0c',base=16)=12,int('19',base=16)=25; ip为10.121.12.25
15629表示port
转化为十进制: hex(15629)=0x3d0d; int('0d3d',base=16)=3389,端口为3389

2)服务端->客户端:发送连接确认Connect Confirm

2. ISO数据层
3. 虚拟通道层
4.加密解密层
5.功能数据层


参考:
预告:十一、TCP/IP数据包分析应用-TCP会话重组

Viewing all articles
Browse latest Browse all 75

Trending Articles