Step 3. SSL/TLS handshake
Both the client driver and SQL Server need to know a bit about each other.
Both the client driver and SQL Server need to know a bit about each other. In this
handshake, the driver sends some information and requirements to the server. This
information includes whether to encrypt data packets, whether to use Multiple Active
Result Sets (MARS), its version number, whether to use federated authentication, the
connection GUID, and so on.
The server responds with its information, such as whether it requires authentication. This
sequence happens before any sort of security negotiation is performed.
Output
The SSL/TLS handshake begins with the Client Hello packet and then the Server Hello
packet, plus some extra packets related to Secure Channel. This step is where the security
key is negotiated for encrypting packets. Normally, just the login packet is encrypted, but
the client or the server could require data packets to be encrypted as well. Choosing the
version of TLS happens at this stage of the login. The client or server can close the
connection at this stage if the TLS versions don’t line up, or they don’t have any cipher
suites in common.
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