Ez a cikk több példát mutat be egy hálózati nyomkövetésre, amely különböző kézfogásokat és hitelesítési sorozatokat rögzít az ügyfélalkalmazás és az SQL Server-adatbázismotor (a kiszolgáló) közötti Átviteli vezérlési protokoll (TCP) kapcsolatlétrehozási folyamata során.
Ez a cikk a több aktív eredményhalmaz (MARS) kapcsolatát is ismerteti. A MARS az SQL Server egyik funkciója, amelyet az SQL Server 2005 -ben (9.x) vezetnek be, amely lehetővé teszi, hogy több parancsot is végrehajtson egy kapcsolaton anélkül, hogy törölnie kellene az eredményeket az első parancsból a második parancs futtatása előtt. A MARS munkamenet-multiplexálással (SMUX) érhető el.
Ez a folyamat egy SQL-hitelesítést használó normál bejelentkezési folyamatot ír le, amely részletes hálózati nyomkövetési elemzésen keresztül mutatja be az ügyfél és a kiszolgáló közötti beszélgetés minden lépését. A példa hálózati nyomkövetés a következő lépéseket ismerteti:
- TCP háromirányú kézfogás
- Vezető kézfogása
- SSL/TLS kézfogás
- Bejelentkezési csomagcsere
- Bejelentkezés megerősítése
- Parancs végrehajtása és a válasz elolvasása
- TCP négyirányú záró kézfogás
Példa hálózati nyomkövetésre
A rendszer a kapcsolati sztring Login Timeout beállításától függetlenül 1 másodpercet foglal le.
- Az ügyfél IP-címe
10.10.10.10
- A kiszolgáló IP-címe
10.10.10.120
1. lépés. TCP háromirányú kézfogás
Minden TCP-beszélgetés egy SYN csomaggal (S jelzőkészlettel) kezdődik, amelyet az ügyfél küld a kiszolgálónak. A Keret 6127az ügyfél egy rövid élettartamú portot használ (amelyet az operációs rendszer dinamikusan hozzárendel), és csatlakozik a kiszolgálóporthoz, ebben az esetben a port 1433. A kiszolgáló saját SYN csomaggal válaszol, és a ACK jelző is be van állítva. Végül az ügyfél egy ACK csomaggal válaszol, amely tudatja a kiszolgálóval, hogy megkapta a SYN csomagot.
Ez a lépés egy alapszintű TCP-kapcsolatot hoz létre, ugyanúgy, ahogyan egy telnet parancs tenné. Az operációs rendszer közvetíti a beszélgetés ezen részét. Ezen a ponton az ügyfél és a kiszolgáló semmit sem tud egymásról.
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=
Ebben a lépésben a [Bad CheckSum] figyelmeztetések ártalmatlanok, és azt jelzik, hogy engedélyezve van a ellenőrzőösszeg-kiszervezés. Vagyis a hálózati verem alacsonyabb szintjén vannak hozzáadva, mint a nyomkövetés. Más információ hiányában ez a figyelmeztetés azt jelzi, hogy a hálózati nyomkövetés az ügyfélen vagy a kiszolgálón történt-e. Ebben az esetben a kezdeti SYN csomagon jelenik meg, így az ügyfélen történt az adatgyűjtés.
2. lépés. Vezető kézfogása
Az ügyfélillesztőnek és az SQL Servernek is tudnia kell egy kicsit egymásról. Ebben a kézfogásban az illesztőprogram információkat és követelményeket küld a kiszolgálónak. Ez az információ magában foglalja az adatcsomagok titkosítását, a több aktív eredményhalmaz (MARS) használatát, a verziószámát, az összevont hitelesítés használatát, a kapcsolat GUID azonosítóját stb.
A kiszolgáló az információival válaszol, például azt, hogy hitelesítést igényel-e. Ez a sorozat a biztonsági egyeztetés végrehajtása előtt következik be.
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. lépés. SSL/TLS kézfogás
Az SSL/TLS kézfogás a Client Hello csomaggal, majd a Server Hello csomaggal kezdődik, valamint néhány további, a Biztonságos csatornához kapcsolódó csomaggal. Ebben a lépésben egyeztetik a biztonsági kulcsot a csomagok titkosításához. Általában csak a bejelentkezési csomag van titkosítva, de az ügyfél vagy a kiszolgáló is megkövetelheti az adatcsomagok titkosítását. A TLS verziójának kiválasztása a bejelentkezés ezen szakaszában történik. Az ügyfél vagy a kiszolgáló ebben a szakaszban bezárhatja a kapcsolatot, ha a TLS-verziók nem sorakoznak fel, vagy nincsenek közös rejtjelcsomagok.
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. lépés. Bejelentkezési csomag
Ez a csomag titkosítva van, és a hálózati elemzőtől függően SSL Application Data vagy TDS:Datajelenhet meg. Ha a lépés után az összes csomag SSL Application Datais megjelenik, a kapcsolat titkosítva lesz.
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. lépés. Bejelentkezés megerősítése
Ellenkező esetben megjelenik egy válaszcsomag, amely megerősíti a bejelentkezést (rendelkezik a bejelentkezési ACK jogkivonattal), vagy egy Login Failed hibaüzenetet ad vissza az ügyfélnek.
Íme egy példa arra, hogy mit láthat a csomag hexadecimális adataiban a sikeres bejelentkezéshez:
.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. lépés. Parancs végrehajtása és a válasz elolvasása
A parancsok TDS:SQLBatch vagy TDS:RPCRequest csomagként lesznek elküldve. Az előbbi egyszerű Transact-SQL utasításokat hajt végre, az utóbbi pedig tárolt eljárásokat hajt végre. Előfordulhat, hogy TCP-folytatási csomagok jelennek meg, ha a parancs hosszadalmas, vagy a válaszcsomagban, ha több mint néhány sort ad vissza.
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. lépés. TCP négyirányú záró kézfogás
A Microsoft illesztőprogramjai a négyirányú kézfogással zárják be a kapcsolatokat. Számos külső meghajtóprogram egyszerűen visszaállítja a kapcsolatot annak lezárása érdekében, megnehezítve ezzel a normál és rendellenes lezárás megkülönböztetését.
A négyirányú kézfogás abból áll, hogy az ügyfél egy FIN csomagot küld a kiszolgálónak, amelyre a kiszolgáló egy ACKválaszol. A kiszolgáló ezután elküldi a saját FIN csomagját, amelyet az ügyfél elismer (ACK).
Amennyiben a kiszolgáló először küld egy FIN csomagot, az szokásostól eltérő lezárás, ami leggyakrabban az SSL/TLS kézfogás során tapasztalható, ha az ügyfél és a kiszolgáló nem tudják kialakítani a biztonságos csatornát.
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=
Ez a folyamat leírja a hitelesítési folyamatot, különösen az SQL-hitelesítési sorozat és egy SSPI-csomag hozzáadásának összehasonlítását. A példa hálózati nyomkövetés a következő lépéseket ismerteti:
- TCP háromirányú kézfogás
- Vezető kézfogása
- SSL/TLS kézfogás
- Bejelentkezési csomagcsere
- SSPI-csomagátvitel
- Bejelentkezés megerősítése
- TCP négyirányú záró kézfogás
Példa hálózati nyomkövetésre
Ez a bejelentkezési sorozat az SQL-hitelesítési sorozathoz hasonlóan néz ki. Az SSPI-csomag hozzáadása jelenti a nagy különbséget, de nehéz észrevenni, hacsak nem bontja ki a tulajdonságait. Esetenként több SSPI-csomagot is láthat.
Az ügyfél ezután hitelesítő adatokkal válaszol, amelyet a kiszolgáló a tartományvezérlővel megerősít a végén.
A rendszer a kapcsolati sztring Login Timeout beállításától függetlenül 1 másodpercet foglal le.
- Az ügyfél IP-címe
10.10.10.10
- A kiszolgáló IP-címe
10.10.10.20
1. lépés. TCP háromirányú kézfogás
Ebben a lépésben jön létre kapcsolat az ügyfél és a kiszolgáló között TCP-en keresztül. Ez magában foglalja SYN, SYN-ACKés ACK csomagokat a sorszámok szinkronizálásához és a kommunikáció kialakításához.
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
Ebben a lépésben a [Bad CheckSum] figyelmeztetések ártalmatlanok, és azt jelzik, hogy engedélyezve van a ellenőrzőösszeg-kiszervezés. Vagyis a hálózati verem alacsonyabb szintjén vannak hozzáadva, mint a nyomkövetés. Más információ hiányában ez a figyelmeztetés azt jelzi, hogy a hálózati nyomkövetés az ügyfélen vagy a kiszolgálón történt-e. Ebben az esetben a kezdeti SYN csomagon jelenik meg, így az ügyfélen történt az adatgyűjtés.
2. lépés. Vezető kézfogása
Ez a lépés a TDS-csomagok (táblázatos adatfolyamok) cseréjét foglalja magában az ügyfél és a kiszolgáló között a kommunikáció paramétereinek megállapításához.
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. lépés. SSL/TLS kézfogás
Itt az ügyfél és a kiszolgáló biztonságos kézfogást végez egy titkosított kapcsolat létrehozásához. Ez a folyamat több csomagot is magában foglal, beleértve a Client Hello, a Server Hello, a tanúsítványcsere és a titkosítási módosítás specifikációit.
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. lépés. Bejelentkezési csomag
Az ügyfél egy bejelentkezési adatokat tartalmazó TDS-csomagot küld a kiszolgálónak.
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. lépés. SSPI-csomagátvitel
Ez a csomag biztonsági támogatási szolgáltatói interfész (SSPI) jogkivonatot hordoz, amely a Kerberos használatával történő hitelesítést jelzi. A tulajdonságok ki vannak bontva a tokenadatok megjelenítéséhez.
Az alábbi kimenet az SSPI-csomagot mutatja, részletesen kifejtett csomagtulajdonságokkal.
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. lépés. Bejelentkezés megerősítése és visszaigazolása
A kiszolgáló egy TDS-csomaggal válaszol, amely megerősíti a bejelentkezést, és nyugtáozza az adatok fogadását.
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. lépés. TCP négyirányú záró kézfogás
Végül az ügyfél és a kiszolgáló elegánsan zárja be a kapcsolatot FIN és ACK csomagokkal.
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
Az SSPI-csomag jelenléte megkülönbözteti ezt a bejelentkezési folyamatot az SQL-hitelesítéstől. Az azonosítás azonban szükségessé teheti a csomagtulajdonságok bővítését, különösen több SSPI-csomag cseréje esetén.
Ez a folyamat leírja a hitelesítési folyamatot, különösen az SQL-hitelesítési sorrend összehasonlítását az NTLM-feladat- és válaszcsomagok hozzáadásával. A példa hálózati nyomkövetés a következő lépéseket ismerteti:
- TCP háromirányú kézfogás
- Vezető kézfogása
- SSL/TLS kézfogás
- Bejelentkezési csomagcsere
- NTLM-feladat- és válaszcsomagok
- Bejelentkezés megerősítése
- Parancs végrehajtása
Példa hálózati nyomkövetésre
A bejelentkezési sorrend és az SQL-hitelesítési sorozat közötti különbség két csomaggal való kiegészítés.
Az ügyfél ezután hitelesítő adatokkal válaszol, amelyet a kiszolgáló a tartományvezérlővel megerősít a végén.
A rendszer a kapcsolati sztring Login Timeout beállításától függetlenül 1 másodpercet foglal le.
- Az ügyfél IP-címe
10.10.10.120
- A kiszolgáló IP-címe
10.10.10.55
1. lépés. TCP háromirányú kézfogás
Ebben a lépésben jön létre kapcsolat az ügyfél és a kiszolgáló között TCP-en keresztül. Ez magában foglalja SYN, SYN-ACKés ACK csomagokat a sorszámok szinkronizálásához és a kommunikáció kialakításához.
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=
Ebben a lépésben a [Bad CheckSum] figyelmeztetések ártalmatlanok, és azt jelzik, hogy engedélyezve van a ellenőrzőösszeg-kiszervezés. Vagyis a hálózati verem alacsonyabb szintjén vannak hozzáadva, mint a nyomkövetés. Más információ hiányában ez a figyelmeztetés azt jelzi, hogy a hálózati nyomkövetés az ügyfélen vagy a kiszolgálón történt-e. Ebben az esetben a kezdeti SYN csomagon jelenik meg, így az ügyfélen történt az adatgyűjtés.
2. lépés. Vezető kézfogása
Ez a lépés a TDS-csomagok (táblázatos adatfolyamok) cseréjét foglalja magában az ügyfél és a kiszolgáló között a kommunikáció paramétereinek megállapításához.
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. lépés. SSL/TLS kézfogás
Itt az ügyfél és a kiszolgáló biztonságos kézfogást végez egy titkosított kapcsolat létrehozásához. Ez a folyamat több csomagot is magában foglal, beleértve a Client Hello, a Server Hello, a tanúsítványcsere és a titkosítási módosítás specifikációit.
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. lépés. Bejelentkezési csomag
Az ügyfél egy bejelentkezési adatokat tartalmazó TDS-csomagot küld a kiszolgálónak.
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. lépés. NTLM-feladat- és válaszcsomagok
Az NTLM-feladatcsomagot a rendszer elküldi a kiszolgálóról az ügyfélnek, miután az ügyfél elküldte a bejelentkezési csomagot.
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. lépés. Bejelentkezés megerősítése
A kiszolgáló egy TDS-csomaggal válaszol, amely megerősíti a bejelentkezést, és nyugtáozza az adatok fogadását.
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. lépés. Parancs végrehajtása
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
A kapcsolat időtúllépéssel meghiúsulhat, amely az alábbi okok bármelyikéből fakad:
- szálhiányos SQL Server
- több egyidejű bejelentkezési kérés, amely várólistás hitelesítést eredményez a tartományvezérlővel
- egy másik földrajzi helyen lévő tartományvezérlő
- lassú vagy nem válaszoló tartományvezérlő
Ez a szakasz azt ismerteti, hogyan határozhatja meg a MARS-kapcsolatot a következő csomagokból:
-
SMP:SYN új munkamenetet indít el
-
SMP:ACK adatcsomagokat nyugtáz
-
SMP:FIN leállítja a munkamenetet
Az alábbi nyomkövetési példák a különböző csomagokat mutatják be.
- Az ügyfél IP-címe
10.10.10.10
- A kiszolgáló IP-címe
10.10.10.22
Új MARS-kapcsolat megnyitása
Az alábbi példakimenet feltételezi, hogy a következő lépések már befejeződtek, NTLM-hitelesítéssel. A MARS kerberossal és SQL-hitelesítéssel is használható.
- TCP háromirányú kézfogás
- Vezető kézfogása
- SSL/TLS kézfogás
- Bejelentkezési csomagcsere
- NTLM-feladat- és válaszcsomagok
- Bejelentkezés megerősítése
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=.
Új MARS-munkamenet létrehozása
A kapcsolat létrejötte után hozzon létre egy új MARS-munkamenetet (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
Különböző parancsok végrehajtása a munkamenetben
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=...
Példa az SMP:ACK-csomagra
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 =