本文提供了一些网络跟踪示例,这些跟踪在客户端应用程序与 SQL Server 数据库引擎(服务器)之间的传输控制协议(TCP)连接建立过程中捕获各种握手和身份验证序列。
本文还介绍了多个活动结果集(MARS)连接。 MARS 是 SQL Server 的一项功能,由 SQL Server 2005 (9.x)引入,它允许在连接上执行多个命令,而无需清理第一个命令的结果,然后再运行第二个命令。 MARS 是通过会话多路复用(SMUX)实现的。
此过程描述使用 SQL 身份验证的正常登录过程,通过详细的网络跟踪分析显示客户端和服务器之间的对话的每个步骤。 示例网络跟踪描述以下步骤:
- TCP 三向握手
- 驱动程序握手
- SSL/TLS 握手
- 登录数据包交换
- 登录确认
- 执行命令并读取响应
- TCP 四向关闭握手
网络跟踪示例
无论连接字符串中的设置如何Login Timeout
,都会分配此交换 1 秒。
- 客户端 IP 地址为
10.10.10.10
- 服务器 IP 地址为
10.10.10.120
步骤 1. TCP 三向握手
所有 TCP 对话都以 SYN
从客户端发送到服务器的数据包(S
标志集)开始。 在 Frame 6127
中,客户端使用临时端口(由操作系统动态分配)并连接到服务器端口,在本例中为端口 1433
。 服务器使用自己的 SYN
数据包 ACK
进行答复,同时设置了标志。 最后,客户端使用数据包 ACK
进行响应,让服务器知道它收到了其 SYN
数据包。
此步骤建立基本的 TCP 连接,就像命令一样 telnet
。 操作系统会调解会话的这一部分。 此时,客户端和服务器对彼此一无所知。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6127 116.5776698 10.10.10.10 10.10.10.120 TCP:Flags=......S., SrcPort=60123, DstPort=1433, PayloadLen=0, Seq=4050702293, Ack=0, Win=8192 ( Ne
6128 116.5776698 10.10.10.120 10.10.10.10 TCP:Flags=...A..S., SrcPort=1433, DstPort=60123, PayloadLen=0, Seq=4095166896, Ack=4050702294, Win=
6129 116.5786458 10.10.10.10 10.10.10.120 TCP:Flags=...A...., SrcPort=60123, DstPort=1433, PayloadLen=0, Seq=4050702294, Ack=4095166897, Win=
在此步骤中[Bad CheckSum]
,警告是良性的,并且是启用校验和卸载的指示器。 也就是说,它们在网络堆栈中的较低级别添加,而不是获取跟踪。 如果没有其他信息,则此警告指示是在客户端还是服务器上执行网络跟踪。 在本例中,它出现在初始 SYN
数据包上,因此跟踪是在客户端上执行的。
步骤 2. 驱动程序握手
客户端驱动程序和 SQL Server 都需要彼此了解一点。 在此握手中,驱动程序会向服务器发送一些信息和要求。 此信息包括是否加密数据包、是否使用多个活动结果集(MARS)、版本号、是否使用联合身份验证、连接 GUID 等。
服务器使用其信息进行响应,例如是否需要身份验证。 在执行任何类型的安全协商之前,会发生此序列。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6130 116.5786458 10.10.10.10 10.10.10.120 TDS:Prelogin, Version = 7.1 (0x71000001), SPID = 0, PacketID = 0, Flags=...AP..., SrcPort=60123, Ds
6131 116.5805998 10.10.10.120 10.10.10.10 TDS:Response, Version = 7.1 (0x71000001), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=1433, Dst
步骤 3. SSL/TLS 握手
SSL/TLS 握手从客户端 Hello 数据包开始,然后是服务器 Hello 数据包,以及一些与安全通道相关的额外数据包。 此步骤是协商用于加密数据包的安全密钥的位置。 通常,只有登录数据包已加密,但客户端或服务器也可能需要对数据包进行加密。 选择 TLS 的版本发生在登录的此阶段。 如果 TLS 版本未排队,或者它们没有任何密码套件,则客户端或服务器可以在此阶段关闭连接。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6132 116.5835288 10.10.10.10 10.10.10.120 TLS:TLS Rec Layer-1 HandShake: Client Hello. {TLS:328, SSLVersionSelector:327, TDS:326, TCP:325, IP
6133 116.5845058 10.10.10.120 10.10.10.10 TLS:TLS Rec Layer-1 HandShake: Server Hello. Certificate. Server Hello Done. {TLS:328, SSLVersionSe
6134 116.5864588 10.10.10.10 10.10.10.120 TLS:TLS Rec Layer-1 HandShake: Client Key Exchange.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec La
6135 116.5923178 10.10.10.120 10.10.10.10 TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message. {TL
步骤 4. 登录数据包
此数据包已加密,并可能显示为 SSL Application Data
网络分析程序,或者 TDS:Data
,具体取决于网络分析程序。 如果此步骤后的所有数据包也显示为 SSL Application Data
加密连接。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6136 116.5932948 10.10.10.10 10.10.10.120 TLS:TLS Rec Layer-1 SSL Application Data {TLS:328, SSLVersionSelector:327, TDS:326, TCP:325, IPv4:3
步骤 5。 登录确认
否则,会看到一个响应数据包,该数据包会确认登录名(具有登录 ACK
令牌),或向客户端返回 Login Failed
错误消息。
下面是成功登录的数据包十六进制数据中显示的示例:
.C.h.a.n.g.e.d. .d.a.t.a.b.a.s.e. .c.o.n.t.e.x.t. .t.o. .'.A.d.v.e.n.t.u.r.e.W.o.r.ks'
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6137 116.5962248 10.10.10.120 10.10.10.10 TDS:Response, Version = 7.1 (0x71000001), SPID = 96, PacketID = 1, Flags=...AP..., SrcPort=1433, Ds
步骤 6。 执行命令并读取响应
命令作为数据包TDS:SQLBatch
TDS:RPCRequest
发送。 前者执行纯 Transact-SQL 语句,后者执行存储过程。 如果命令较长,则可能会在响应数据包中看到 TCP 延续数据包;如果返回了多行,则会出现 TCP 延续数据包。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6138 116.5991538 10.10.10.10 10.10.10.120 TDS:SQLBatch, Version = 7.1 (0x71000001), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=60123, Ds
6139 116.5991538 10.10.10.120 10.10.10.10 TDS:Response, Version = 7.1 (0x71000001), SPID = 96, PacketID = 1, Flags=...AP..., SrcPort=1433, Ds
6266 116.8032558 10.10.10.10 10.10.10.120 TCP:Flags=...A...., SrcPort=60123, DstPort=1433, PayloadLen=0, Seq=4050702956, Ack=4095168204, Win=
步骤 7. TCP 四向关闭握手
Microsoft驱动程序使用四向握手关闭连接。 许多第三方驱动程序只是重置连接以将其关闭,因此很难区分正常和异常关闭。
四向握手由向服务器发送 FIN
数据包的客户端组成,服务器使用服务器 ACK
响应该数据包。 然后,服务器发送自己的 FIN
数据包,客户端会确认该数据包(ACK
)。
如果服务器首先发送数据包 FIN
,则这是异常的关闭,在客户端和服务器无法协商安全通道时,最常出现在 SSL/TLS 握手中。
Frame Time Offset Source IP Dest IP Description
----- ----------- ------------ ------------ ---------------------------------------------------------------------------------------------------
6362 116.9097008 10.10.10.10 10.10.10.120 TCP:Flags=...A...F, SrcPort=60123, DstPort=1433, PayloadLen=0, Seq=4050702956, Ack=4095168204, Win=
6363 116.9097008 10.10.10.120 10.10.10.10 TCP:Flags=...A...., SrcPort=1433, DstPort=60123, PayloadLen=0, Seq=4095168204, Ack=4050702957, Win=
6364 116.9097008 10.10.10.120 10.10.10.10 TCP:Flags=...A...F, SrcPort=1433, DstPort=60123, PayloadLen=0, Seq=4095168204, Ack=4050702957, Win=
6366 116.9106778 10.10.10.10 10.10.10.120 TCP:Flags=...A...., SrcPort=60123, DstPort=1433, PayloadLen=0, Seq=4050702957, Ack=4095168205, Win=
此过程描述身份验证过程,特别是将 SQL 身份验证序列与添加 SSPI 数据包进行比较。 示例网络跟踪描述以下步骤:
- TCP 三向握手
- 驱动程序握手
- SSL/TLS 握手
- 登录数据包交换
- SSPI 数据包传输
- 登录确认
- TCP 四向关闭握手
网络跟踪示例
此登录序列类似于 SQL 身份验证序列。 添加 SSPI 数据包是很大的区别,但很难判断,除非扩展其属性。 有时,可能会看到多个 SSPI 数据包。
然后,客户端会使用凭据进行响应,服务器在客户端上确认域控制器。
无论连接字符串中的设置如何Login Timeout
,都会分配此交换 1 秒。
- 客户端 IP 地址为
10.10.10.10
- 服务器 IP 地址为
10.10.10.20
步骤 1. TCP 三向握手
此步骤是在客户端与服务器之间通过 TCP 建立连接的位置。 它涉及 SYN
同步 SYN-ACK
序列号和 ACK
建立通信的数据包。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
216 16.9554967 10.10.10.10 10.10.10.20 TCP:Flags=......S., SrcPort=49299, DstPort=1433, PayloadLen=0, Seq=2243174743, Ack=0, Win=64240 ( N
217 16.9561482 10.10.10.20 10.10.10.10 TCP:Flags=...A..S., SrcPort=1433, DstPort=49299, PayloadLen=0, Seq=329197620, Ack=2243174744, Win=8
218 16.9562004 10.10.10.10 10.10.10.20 TCP:Flags=...A...., SrcPort=49299, DstPort=1433, PayloadLen=0, Seq=2243174744, Ack=329197621, Win=8
在此步骤中[Bad CheckSum]
,警告是良性的,并且是启用校验和卸载的指示器。 也就是说,它们在网络堆栈中的较低级别添加,而不是获取跟踪。 如果没有其他信息,则此警告指示是在客户端还是服务器上执行网络跟踪。 在本例中,它出现在初始 SYN
数据包上,因此跟踪是在客户端上执行的。
步骤 2. 驱动程序握手
此步骤涉及在客户端和服务器之间交换 TDS(表格数据流)数据包,以建立用于通信的参数。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
219 16.9567950 10.10.10.10 10.10.10.20 TDS:Prelogin, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=49299, Ds
220 17.0035332 10.10.10.20 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=1433, Dst
步骤 3. SSL/TLS 握手
在这里,客户端和服务器进行安全握手以建立加密连接。 此过程涉及多个数据包,包括 Client Hello、Server Hello、证书交换和密码更改规范。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
221 17.0041297 10.10.10.10 10.10.10.20 TLS:TLS Rec Layer-1 HandShake: Client Hello. {TLS:37, SSLVersionSelector:36, TDS:35, TCP:34, IPv4:3
222 17.0081618 10.10.10.20 10.10.10.10 TLS:TLS Rec Layer-1 HandShake: Server Hello. Certificate. Server Key Exchange. Server Hello Done. {
223 17.0102991 10.10.10.10 10.10.10.20 TLS:TLS Rec Layer-1 HandShake: Client Key Exchange.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec La
224 17.0120222 10.10.10.20 10.10.10.10 TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message. {TL
步骤 4. 登录数据包
客户端将包含登录信息的 TDS 数据包发送到服务器。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
236 17.0264540 10.10.10.10 10.10.10.20 TDS:Data, Version = 7.4 (0x74000004), Reassembled Packet {TDS:35, TCP:34, IPv4:33}
237 17.0268945 10.10.10.20 10.10.10.10 TCP:Flags=...A...., SrcPort=1433, DstPort=49299, PayloadLen=0, Seq=329198912, Ack=2243178543, Win=8
步骤 5。 SSPI 数据包传输
此数据包携带安全支持提供程序接口 (SSPI) 令牌,指示使用 Kerberos 进行身份验证。 其属性已展开以显示令牌数据。
以下输出显示了 SSPI 数据包,其中扩展了数据包属性。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
238 17.0280923 10.10.10.20 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 0, PacketID = 0, Flags=...AP..., SrcPort=1433, Dst
Frame: Number = 238, Captured Frame Length = 250, MediaType = ETHERNET
+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-03-F6-03],SourceAddress:[00-15-5D-03-F6-00]
+ Ipv4: Src = 10.10.10.20, Dest = 10.10.10.10, Next Protocol = TCP, Packet ID = 26363, Total IP Length = 236
+ Tcp: Flags=...AP..., SrcPort=1433, DstPort=49299, PayloadLen=196, Seq=329198912 - 329199108, Ack=2243178543, Win=8212 (scale factor 0x8) =
- Tds: Response, Version = 7.4 (0x74000004), SPID = 0, PacketID = 0, Flags=...AP..., SrcPort=1433, DstPort=49299, PayloadLen=196, Seq=3291989
+ PacketHeader: SPID = 0, Size = 196, PacketID = 0, Window = 0
- TDSServerResponseData:
TokenType: SSPI <---- SSPI Token
+ TokenData:
步骤 6。 登录确认和确认
服务器使用 TDS 数据包进行响应,确认登录名并确认接收数据。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
239 17.0294294 10.10.10.20 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 57, PacketID = 1, Flags=...AP..., SrcPort=1433, Ds
240 17.0294472 10.10.10.10 10.10.10.20 TCP:Flags=...A...., SrcPort=49299, DstPort=1433, PayloadLen=0, Seq=2243178543, Ack=329199489, Win=8
步骤 7. TCP 四向关闭握手
最后,客户端和服务器使用和ACK
数据包正常FIN
关闭连接。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------------------------------
242 18.5494518 10.10.10.10 10.10.10.20 TCP:Flags=...A...F, SrcPort=49299, DstPort=1433, PayloadLen=0, Seq=2243178543, Ack=329199489, Win=8
243 18.5501180 10.10.10.20 10.10.10.10 TCP:Flags=...A...., SrcPort=1433, DstPort=49299, PayloadLen=0, Seq=329199489, Ack=2243178544, Win=8
244 18.5502723 10.10.10.20 10.10.10.10 TCP:Flags=...A...F, SrcPort=1433, DstPort=49299, PayloadLen=0, Seq=329199489, Ack=2243178544, Win=8
245 18.5502896 10.10.10.10 10.10.10.20 TCP:Flags=...A...., SrcPort=49299, DstPort=1433, PayloadLen=0, Seq=2243178544, Ack=329199490, Win=8
SSPI 数据包的存在将此登录过程与 SQL 身份验证区分开来。 但是,标识可能需要扩展数据包属性,尤其是在交换多个 SSPI 数据包时。
此过程介绍身份验证过程,特别是将 SQL 身份验证序列与添加 NTLM 质询和响应数据包进行比较。 示例网络跟踪描述以下步骤:
- TCP 三向握手
- 驱动程序握手
- SSL/TLS 握手
- 登录数据包交换
- NTLM 质询和响应数据包
- 登录确认
- 命令执行
网络跟踪示例
此登录序列与 SQL 身份验证序列之间的差异是添加两个数据包。
然后,客户端会使用凭据进行响应,服务器在客户端上确认域控制器。
无论连接字符串中的设置如何Login Timeout
,都会分配此交换 1 秒。
- 客户端 IP 地址为
10.10.10.120
- 服务器 IP 地址为
10.10.10.55
步骤 1. TCP 三向握手
此步骤是在客户端与服务器之间通过 TCP 建立连接的位置。 它涉及 SYN
同步 SYN-ACK
序列号和 ACK
建立通信的数据包。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76078 1181.9915832 10.10.10.120 10.10.10.55 TCP: [Bad CheckSum]Flags=......S., SrcPort=64444, DstPort=57139, PayloadLen=0, Seq=2766542083, Ack=
76079 1181.9922255 10.10.10.55 10.10.10.120 TCP:Flags=...A..S., SrcPort=57139, DstPort=64444, PayloadLen=0, Seq=3862866646, Ack=2766542084, Win
76080 1181.9924272 10.10.10.120 10.10.10.55 TCP: [Bad CheckSum]Flags=...A...., SrcPort=64444, DstPort=57139, PayloadLen=0, Seq=2766542084, Ack=
在此步骤中[Bad CheckSum]
,警告是良性的,并且是启用校验和卸载的指示器。 也就是说,它们在网络堆栈中的较低级别添加,而不是获取跟踪。 如果没有其他信息,则此警告指示是在客户端还是服务器上执行网络跟踪。 在本例中,它出现在初始 SYN
数据包上,因此跟踪是在客户端上执行的。
步骤 2. 驱动程序握手
此步骤涉及在客户端和服务器之间交换 TDS(表格数据流)数据包,以建立用于通信的参数。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76081 1181.9936195 10.10.10.120 10.10.10.55 TDS:Prelogin, Version = 7.3 (0x730a0003), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=64444, Ds
76082 1181.9945238 10.10.10.55 10.10.10.120 TDS:Response, Version = 7.3 (0x730a0003), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=57139, Ds
步骤 3. SSL/TLS 握手
在这里,客户端和服务器进行安全握手以建立加密连接。 此过程涉及多个数据包,包括 Client Hello、Server Hello、证书交换和密码更改规范。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76083 1181.9953108 10.10.10.120 10.10.10.55 TLS:TLS Rec Layer-1 HandShake: Client Hello. {TLS:3192, SSLVersionSelector:3191, TDS:3190, TCP:3189
76084 1181.9967001 10.10.10.55 10.10.10.120 TLS:TLS Rec Layer-1 HandShake: Server Hello. Certificate. Server Hello Done. {TLS:3192, SSLVersionS
76085 1181.9978947 10.10.10.120 10.10.10.55 TLS:TLS Rec Layer-1 HandShake: Client Key Exchange.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec La
76086 1182.0010146 10.10.10.55 10.10.10.120 TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message. {TL
步骤 4. 登录数据包
客户端将包含登录信息的 TDS 数据包发送到服务器。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76096 1182.0069763 10.10.10.120 10.10.10.55 TLS:TLS Rec Layer-1 SSL Application Data {TLS:3192, SSLVersionSelector:3191, TDS:3190, TCP:3189, IP
步骤 5。 NTLM 质询和响应数据包
NTLM 质询数据包在客户端发送登录数据包后从服务器发送到客户端。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76097 1182.0093903 10.10.10.55 10.10.10.120 NLMP:NTLM CHALLENGE MESSAGE {TDS:3190, TCP:3189, IPv4:3187}
76098 1182.0102507 10.10.10.120 10.10.10.55 NLMP:NTLM AUTHENTICATE MESSAGEVersion:v2, Domain: CONTOSO, User: joe33, Workstation: 10.10.10.120 {
步骤 6。 登录确认
服务器使用 TDS 数据包进行响应,确认登录名并确认接收数据。
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76100 1182.0274716 10.10.10.55 10.10.10.120 TDS:Response, Version = 7.3 (0x730a0003), SPID = 315, PacketID = 1, Flags=...AP..., SrcPort=57139,
步骤 7. 执行命令
Frame Time Offset Source IP Dest IP Description
----- ------------ ------------ ------------ ---------------------------------------------------------------------------------------------------
76102 1182.0324639 10.10.10.120 10.10.10.55 TDS:SQLBatch, Version = 7.3 (0x730a0003), SPID = 0, PacketID = 1, Flags=...AP..., SrcPort=64444, Ds
连接可能会失败并出现超时,原因如下:
- 线程不足的 SQL Server
- 多个同时登录请求导致使用域控制器进行排队身份验证
- 位于不同地理位置的域控制器
- 慢速或非响应域控制器
本部分介绍如何从以下数据包确定 MARS 连接:
SMP:SYN
启动新会话
SMP:ACK
确认数据包
SMP:FIN
终止会话
以下跟踪示例显示了各种数据包。
- 客户端 IP 地址为
10.10.10.10
- 服务器 IP 地址为
10.10.10.22
打开新的 MARS 连接
以下示例输出假定已使用 NTLM 身份验证完成以下步骤。 MARS 还可用于 Kerberos 和 SQL 身份验证。
- TCP 三向握手
- 驱动程序握手
- SSL/TLS 握手
- 登录数据包交换
- NTLM 质询和响应数据包
- 登录确认
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------
6704 568.0608108 10.10.10.10 10.10.10.22 TCP:Flags=CE....S., SrcPort=52965, DstPort=1433, PayloadLen=0, Seq=66183290
6713 568.0608483 10.10.10.22 10.10.10.10 TCP: [Bad CheckSum]Flags=.E.A..S., SrcPort=1433, DstPort=52965, PayloadLen=
6754 568.0613015 10.10.10.10 10.10.10.22 TCP:Flags=...A...., SrcPort=52965, DstPort=1433, PayloadLen=0, Seq=66183290
6777 568.0615479 10.10.10.10 10.10.10.22 TDS:Prelogin, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...
6786 568.0616817 10.10.10.22 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...
6833 568.0622426 10.10.10.10 10.10.10.22 TLS:TLS Rec Layer-1 HandShake: Client Hello. {TLS:165, SSLVersionSelector:1
6873 568.0627953 10.10.10.22 10.10.10.10 TLS:TLS Rec Layer-1 HandShake: Server Hello. Certificate. Server Key Exchan
6900 568.0632639 10.10.10.10 10.10.10.22 TCP:Flags=...A...., SrcPort=52965, DstPort=1433, PayloadLen=0, Seq=66183319
6977 568.0643795 10.10.10.10 10.10.10.22 TLS:TLS Rec Layer-1 HandShake: Client Key Exchange.; TLS Rec Layer-2 Cipher
7045 568.0655160 10.10.10.22 10.10.10.10 TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypte
7233 568.0679639 10.10.10.10 10.10.10.22 TDS:Data, Version = 7.4 (0x74000004), Reassembled Packet {TDS:162, TCP:160,
7275 568.0684467 10.10.10.22 10.10.10.10 NLMP:NTLM CHALLENGE MESSAGE {TDS:162, TCP:160, IPv4:1}
7331 568.0692389 10.10.10.10 10.10.10.22 NLMP:NTLM AUTHENTICATE MESSAGE Version:NTLM v2, Domain: CONTOSO, User: joe1
11791 568.1295675 10.10.10.22 10.10.10.10 TCP: [Bad CheckSum]Flags=...A...., SrcPort=1433, DstPort=52965, PayloadLen=
17978 568.2162145 10.10.10.22 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 255, PacketID = 1, Flags=.
创建新的 MARS 会话
建立连接后,创建新的 MARS 会话(Sid = 0
)。
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------
18024 568.2170301 10.10.10.10 10.10.10.22 SMP:SYN, Sid = 0, Length = 16, SeqNum = 0, Wndw = 4 {SMP:190, TCP:160, IPv4
在会话上执行各种命令
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------
18028 568.2170301 10.10.10.10 10.10.10.22 TDS:SQLBatch, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...
18031 568.2170676 10.10.10.22 10.10.10.10 TCP: [Bad CheckSum]Flags=...A...., SrcPort=1433, DstPort=52965, PayloadLen=
18038 568.2173641 10.10.10.22 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 255, PacketID = 1, Flags=.
18079 568.2178650 10.10.10.10 10.10.10.22 TDS:SQLBatch, Version = 7.4 (0x74000004), SPID = 0, PacketID = 1, Flags=...
SMP:ACK 数据包的示例
Frame Time Offset Source IP Dest IP Description
----- ----------- ----------- ----------- ---------------------------------------------------------------------------
40874 568.5121135 10.10.10.22 10.10.10.10 TDS:Response, Version = 7.4 (0x74000004), SPID = 255, PacketID = 1, Flags=.
40876 568.5121237 10.10.10.22 10.10.10.10 TDS:Continuous Response, Version = 7.4 (0x74000004), SPID = 255, PacketID =
40911 568.5124644 10.10.10.10 10.10.10.22 SMP:ACK, Sid = 0, Length = 16, SeqNum = 34, Wndw = 40 {SMP:190, TCP:160, IP
40950 568.5128422 10.10.10.22 10.10.10.10 TDS:Continuous Response, Version = 7.4 (0x74000004), SPID = 255, PacketID =