Anàlisi de handsake de 3 vies TCP a Wireshark

Analisi De Handsake De 3 Vies Tcp A Wireshark



El protocol de control de transmissió és un protocol molt important en la capa de transport per al model OSI o TCP/IP. Hi ha molts avantatges en TCP com:

  • TCP torna a transmetre si el receptor no reconeix les dades enviades en algun temps.
  • TCP estableix alguna connexió abans d'enviar les dades. Anomenem aquesta connexió com a encaixada de mans de 3 vies.
  • TCP té un mecanisme de control de congestió.
  • TCP pot detectar errors mitjançant alguns mètodes.

Aprenem principalment sobre l'encaix de mans de 3 vies TCP. També coneixem els camps importants de Wireshark per a l'encaix de mans de 3 vies.







Encaixada de mans de 3 direccions

Hi ha tres intercanvis de fotogrames que es produeixen en una encaixada de mans de tres direccions:



  1. SYN
  2. VIEW+ACK
  3. ACK

El primer fotograma sempre l'envia el client al servidor. Entenem-ho a partir d'un diagrama senzill:



“CLIENT” “SERVIDOR”

Frame1: el client envia una trama SYN al servidor------------------------------------>

<-------------------------------------------El servidor envia una trama SYN+ACK al client: Frame2

Frame3: el client envia un marc ACK al servidor------------------------------------>

Podem veure aquests tres fotogrames a Wireshark. El filtre 'tcp' es pot utilitzar a Wireshark per veure tots els fotogrames TCP. Aquí teniu la captura de pantalla dels tres fotogrames:





Entenem ara els tres marcs en detall:



SYN

Aquest marc conté molta informació sobre les capacitats del client per informar el servidor. La següent captura de pantalla mostra tots els camps importants del marc SYN:

Aquests són els camps importants per al marc SYN:

Port d'origen: 50602
Port de destinació: 80
Número de seqüència: 0
Número de reconeixement: 0
Longitud de la capçalera: 32 bytes
Senyals: 0x002 (SYN):
Reconeixement: No establert
Push: no configurat
Restablir: no configurat
Syn: Set  -----> Aquest bit s'ha establert perquè es tracta d'una trama SYN.
Fin: No configurat

Finestra: 65535
Apuntador urgent: 0
Opció TCP - Mida màxima del segment: 1460 bytes
Opció TCP - Escala de la finestra: 3 (multiplicar per 8)
Opció TCP - SACK permès

VIEW+ACK

Aquest marc conté molta informació sobre les capacitats del servidor per informar al client. La següent captura de pantalla mostra tots els camps importants del marc SYN+ACK:

Aquest marc també reconeix el marc SYN que envia el client.

Aquests són els camps importants per al marc SYN+ACK:

Port d'origen: 80
Port de destinació: 50602
Número de seqüència: 0
Número de reconeixement: 1

Longitud de la capçalera: 32 bytes (8)
Senyals: 0x012 (SYN, ACK)
Agraïment: Set
Push: no configurat
Restablir: no configurat
El seu: Set
Fin: No configurat

Finestra: 29200
Apuntador urgent: 0
Opció TCP - Mida màxima del segment: 1412 bytes
Opció TCP - SACK permès
Opció TCP - Escala de la finestra: 7 (multiplicar per 128)

Podem veure que els bits 'Reconeixement' i 'SYN' estan establerts en aquest marc. Això es deu al fet que aquest marc és SYN+ACK.

ACK

Aquest marc és l'últim fotograma de l'encaix de mans de 3 vies i també el reconeixement del SYN+ACK per part del client. La següent captura de pantalla mostra tots els camps importants del marc ACK:

Aquests són els camps importants per al marc ACK:

Port d'origen: 50602
Port de destinació: 80
Número de seqüència: 1
Número de reconeixement: 1
Longitud de la capçalera: 20 bytes (5)
Senyals: 0x010 (ACK)
Urgent: No establert
Agraïment: Set
Push: no configurat
Restablir: no configurat
Syn: No configurat
Fin: No configurat

Finestra: 32768

Aquí, només s'estableix el bit 'Reconeixement' perquè es tracta d'un marc ACK.

Explicació d'alguns camps comuns importants

Port 80 : Hem observat un port fix 80 en aquest tutorial. És perquè es tracta d'una captura HTTP i el port 80 està arreglat (costat del servidor) per a la comunicació HTTP.

Número de seqüència : el número de seqüència d'aquest fotograma. Sync és el primer fotograma, de manera que tenim 0 com a número de seqüència.

Senyals TCP:

Reconeixement – Aquest bit s'estableix si la trama és un ACK. Exemple: SYN+ACK, marc ACK.

SYN – Aquest bit s'estableix si el fotograma és un SYN. Exemple: SYN.

Finestra : aquest camp comparteix la mida màxima de la finestra del remitent en mode de recepció. Exemple: tenim la mida de la finestra de 65535 bytes al marc SYN. Això significa que el receptor pot rebre un màxim de dades TCP de 65535 bytes en qualsevol moment.

SAC Permès : aquest bit s'estableix si l'enviament admet SACK [reconeixement selectiu].

Mida màxima del segment : També podem anomenar-lo MSS. Això defineix el marc de dades màxim que pot rebre l'emissor. Exemple: obtenim MSS com 1460 bytes a la trama SYN.

Conclusió

Vam aprendre sobre l'enllaç de mà de 3 vies TCP i tots els camps útils per als marcs SYN, SYN+ACK i ACK. Si voleu obtenir més informació sobre TCP, podeu seguir aquest enllaç RFC https://tools.ietf.org/html/rfc793 .