Den här artikeln innehåller flera exempel på en nätverksspårning som samlar in olika handskakningar och autentiseringssekvenser under TCP-anslutningsprocessen (Transmission Control Protocol) mellan ett klientprogram och SQL Server Database Engine (servern).
I den här artikeln beskrivs även flera MARS-anslutningar (Active Result Sets). MARS är en funktion i SQL Server, som introducerades med SQL Server 2005 (9.x), som gör att flera kommandon kan köras på en anslutning utan att behöva rensa resultatet från det första kommandot innan du kör det andra kommandot. MARS uppnås med session-multiplexering (SMUX).
Den här processen beskriver en normal inloggningsprocess med SQL-autentisering, som visar varje steg i konversationen mellan klienten och servern via en detaljerad nätverksspårningsanalys. Nätverksspårningsexemplet beskriver följande steg:
- TCP-trevägshandskakning
- Drivrutinskommunikation
- SSL/TLS-handskakning
- Utbyte av inloggningspaket
- Inloggningsbekräftelse
- Kör ett kommando och läs svaret
- TCP fyrvägs avslutande handskakning
Exempel på nätverksspårning
Det här utbytet allokeras 1 sekund oavsett inställningen Login Timeout
i anslutningssträngen.
- Klientens IP-adress är
10.10.10.10
- Serverns IP-adress är
10.10.10.120
Steg 1. TCP-trevägshandskakning
Alla TCP-konversationer börjar med ett SYN
paket (S
flagguppsättning) som skickas från klienten till servern. I Frame 6127
använder klienten en tillfällig port (dynamiskt tilldelad av operativsystemet) och ansluter till serverporten, i det här fallet port 1433
. Servern svarar med sitt eget SYN
-paket med flaggan ACK
också inställd. Slutligen svarar klienten med ett ACK
paket för att låta servern veta att den tog emot sitt SYN
paket.
Det här steget upprättar en grundläggande TCP-anslutning, på samma sätt som ett telnet
kommando skulle göra. Operativsystemet förmedlar den här delen av konversationen. I det här läget vet klienten och servern ingenting om varandra.
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=
I det här steget är [Bad CheckSum]
-varningarna godartade och indikerar att checksummoffload är aktiverat. Det innebär att de läggs till på en lägre nivå i nätverksstacken än spårningen tas. I avsaknad av annan information anger den här varningen om nätverksspårningen har tagits på klienten eller servern. I det här fallet visas det på det första SYN
-paketet, så spårningen utfördes på klienten.
Steg 2. Drivrutinhandskakning
Både klientdrivrutinen och SQL Server behöver veta lite om varandra. I den här handskakningen skickar föraren viss information och krav till servern. Den här informationen omfattar om du vill kryptera datapaket, om du vill använda flera aktiva resultatuppsättningar (MARS), dess versionsnummer, om du vill använda federerad autentisering, anslutnings-GUID och så vidare.
Servern svarar med sin information, till exempel om den kräver autentisering. Den här sekvensen inträffar innan någon form av säkerhetsförhandling utförs.
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
Steg 3. SSL/TLS-handskakning
SSL/TLS-handskakningen börjar med Client Hello-paketet och sedan Server Hello-paketet, plus några extra paket som är relaterade till Säker kanal. I det här steget förhandlas säkerhetsnyckeln för kryptering av paket. Normalt krypteras bara inloggningspaketet, men klienten eller servern kan kräva att även datapaket krypteras. Valet av TLS-version sker i det här skedet av inloggningen. Klienten eller servern kan stänga anslutningen i det här skedet om TLS-versionerna inte stämmer överens eller om de inte har några krypteringssviter gemensamma.
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
Steg 4. Inloggningspaket
Det här paketet är krypterat och kan visas som SSL Application Data
eller TDS:Data
, beroende på nätverksparsern. Om alla paket efter det här steget också visas som SSL Application Data
krypteras anslutningen.
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
Steg 5. Inloggningsbekräftelse
Annars visas ett svarspaket som antingen bekräftar inloggningen (har inloggningen ACK
token) eller returnerar ett Login Failed
felmeddelande till klienten.
Här är ett exempel på vad du kan se i de hexadecimala data för paketet vid en lyckad inloggning.
.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
Steg 6. Kör ett kommando och läs svaret
Kommandon skickas som antingen ett TDS:SQLBatch
eller ett TDS:RPCRequest
paket. Den förra kör vanliga Transact-SQL-instruktioner och den senare kör lagrade procedurer. Du kan se TCP-fortsättningspaket om kommandot är långt eller i svarspaketet om fler än några rader returneras.
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=
Steg 7. TCP fyrvägs stängningshandslag
Microsoft-drivrutiner använder fyrvägshandskakningen för att stänga anslutningar. Många drivrutiner från tredje part återställer bara anslutningen för att stänga den, vilket gör det svårare att skilja mellan en normal och onormal stängning.
Fyrvägshandskakningen består av att klienten skickar ett FIN
paket till servern, som servern svarar på med en ACK
. Servern skickar sedan ett eget FIN
paket, som klienten bekräftar (ACK
).
Om servern skickar ett FIN
paket först är det en onormal stängning, som oftast visas i SSL/TLS-handskakningen om klienten och servern inte kan förhandla om den säkra kanalen.
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=
Den här processen beskriver autentiseringsprocessen och jämför specifikt SQL-autentiseringssekvensen med tillägget av ett SSPI-paket. Nätverksspårningsexemplet beskriver följande steg:
- TCP-trevägshandskakning
- Förarhandtryckning
- SSL/TLS-handskakning
- Utbyte av inloggningspaket
- SSPI-paketöverföring
- Inloggningsbekräftelse
- TCP fyrvägs avslutande handskakning
Exempel på nätverksspårning
Den här inloggningssekvensen liknar SQL-autentiseringssekvensen. Tillägget av SSPI-paketet är den stora skillnaden, men det är svårt att säga om du inte expanderar dess egenskaper. Ibland kan du se mer än ett SSPI-paket.
Klienten svarar sedan med autentiseringsuppgifter, vilket servern bekräftar med domänkontrollanten på slutet.
Det här utbytet allokeras 1 sekund oavsett inställningen Login Timeout
i anslutningssträngen.
- Klientens IP-adress är
10.10.10.10
- Serverns IP-adress är
10.10.10.20
Steg 1. TCP-trevägshandskakning
Det här steget är när en anslutning upprättas mellan klienten och servern via TCP. Det omfattar SYN
, SYN-ACK
och ACK
paket för att synkronisera sekvensnummer och upprätta kommunikation.
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
I det här steget är [Bad CheckSum]
-varningarna godartade och är en indikator på att kontrollsummeavlastning är aktiverad. Det innebär att de läggs till på en lägre nivå i nätverksstacken än spårningen tas. I avsaknad av annan information anger den här varningen om nätverksspårningen har tagits på klienten eller servern. I det här fallet visas det på det första SYN
-paketet, så spårningen gjordes på klienten.
Steg 2. Drivrutins-handskakning
Det här steget omfattar utbyte av TDS-paket (Tabular Data Stream) mellan klienten och servern för att upprätta parametrar för kommunikation.
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
Steg 3. SSL/TLS-handskakning
Här genomför klienten och servern en säker handskakning för att upprätta en krypterad anslutning. Den här processen omfattar flera paket, inklusive Client Hello, Server Hello, certifikatutbyte och specifikationer för chifferändring.
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
Steg 4. Inloggningspaket
Klienten skickar ett TDS-paket som innehåller inloggningsinformation till servern.
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
Steg 5. SSPI-paketöverföring
Det här paketet har SSPI-token (Security Support Provider Interface) som anger autentisering med Kerberos. Dess egenskaper expanderas för att visa tokendata.
Följande utdata visar SSPI-paketet med paketegenskaperna expanderade.
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:
Steg 6. Inloggningsbekräftelse och erkännande
Servern svarar med ett TDS-paket som bekräftar inloggningen och bekräftar mottagandet av data.
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
Steg 7. TCP fyrvägs stängningshandtryck
Slutligen stänger klienten och servern anslutningen korrekt med hjälp av FIN
och ACK
paket.
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
Förekomsten av SSPI-paketet skiljer den här inloggningsprocessen från SQL-autentisering. Identifiering kan dock kräva utökade paketegenskaper, särskilt när flera SSPI-paket utbyts.
Den här processen beskriver autentiseringsprocessen och jämför specifikt SQL-autentiseringssekvensen med tillägget av NTLM-utmanings- och svarspaket. Nätverksspårningsexemplet beskriver följande steg:
- TCP-trevägshandskakning
- Drivrutinskommunikation
- SSL/TLS-handskakning
- Utbyte av inloggningspaket
- NTLM-utmanings- och svarspaket
- Inloggningsbekräftelse
- Utförande av kommandon
Exempel på nätverksspårning
Skillnaden mellan den här inloggningssekvensen och SQL-autentiseringssekvensen är tillägget av två paket.
Klienten svarar sedan med autentiseringsuppgifter, vilket servern bekräftar med domänkontrollanten på slutet.
Det här utbytet allokeras 1 sekund oavsett inställningen Login Timeout
i anslutningssträngen.
- Klientens IP-adress är
10.10.10.120
- Serverns IP-adress är
10.10.10.55
Steg 1. TCP-trevägshandskakning
Det här steget är när en anslutning upprättas mellan klienten och servern via TCP. Det omfattar SYN
, SYN-ACK
och ACK
paket för att synkronisera sekvensnummer och upprätta kommunikation.
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=
I det här steget är [Bad CheckSum]
-varningarna godartade och är en indikator på att checksum är aktiverat. Det innebär att de läggs till på en lägre nivå i nätverksstacken än spårningen tas. I avsaknad av annan information anger den här varningen om nätverksspårningen har tagits på klienten eller servern. I det här fallet visas det på det första SYN
-paketet, så spårningen togs på klienten.
Steg 2. Drivrutinhandslag
Det här steget omfattar utbyte av TDS-paket (Tabular Data Stream) mellan klienten och servern för att upprätta parametrar för kommunikation.
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
Steg 3. SSL/TLS-handskakning
Här utför klienten och servern en säker handskakning för att upprätta en krypterad anslutning. Den här processen omfattar flera paket, inklusive Client Hello, Server Hello, certifikatutbyte och specifikationer för chifferändring.
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
Steg 4. Inloggningspaket
Klienten skickar ett TDS-paket som innehåller inloggningsinformation till servern.
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
Steg 5. NTLM-utmanings- och svarspaket
NTLM-utmaningspaketet skickas från servern till klienten efter att klienten har skickat inloggningspaketet.
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 {
Steg 6. Inloggningsbekräftelse
Servern svarar med ett TDS-paket som bekräftar inloggningen och bekräftar mottagandet av data.
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,
Steg 7. Köra ett kommando
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
Anslutningen kan misslyckas med en tidsgräns, vilket beror på någon av följande orsaker:
- en SQL Server med brist på trådar
- flera samtidiga inloggningsbegäranden som resulterar i autentisering i kö med domänkontrollanten
- en domänkontrollant på en annan geografisk plats
- en långsam eller icke-svarar domänkontrollant
I det här avsnittet beskrivs hur du kan fastställa en MARS-anslutning från följande paket:
-
SMP:SYN
startar en ny session
-
SMP:ACK
bekräftar datapaket
-
SMP:FIN
avslutar en session
Följande spårningsexempel visar de olika paketen.
- Klientens IP-adress är
10.10.10.10
- Serverns IP-adress är
10.10.10.22
Öppna en ny MARS-anslutning
Följande exempelutdata förutsätter att följande steg redan är slutförda med NTLM-autentisering. MARS kan också användas med Kerberos- och SQL-autentisering.
- TCP-trevägshandskakning
- Handskakning av drivrutin
- SSL/TLS-handskakning
- Utbyte av inloggningspaket
- NTLM-utmanings- och svarspaket
- Inloggningsbekräftelse
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=.
Skapa en ny MARS-session
När anslutningen har upprättats skapar du en ny MARS-session (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
Utföra olika kommandon på sessionen
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=...
Exempel på SMP:ACK-paketet
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 =