Análisis de protocolo de enlace TCP de 3 vías en Wireshark

Analisis De Protocolo De Enlace Tcp De 3 Vias En Wireshark



El Protocolo de control de transmisión es un protocolo muy importante en la capa de transporte para el modelo OSI o TCP/IP. Hay muchas ventajas en TCP como:

  • TCP retransmite si el receptor no reconoce los datos enviados dentro de un tiempo.
  • TCP establece alguna conexión antes de enviar los datos. Llamamos a esa conexión como apretón de manos de 3 vías.
  • TCP tiene un mecanismo de control de congestión.
  • TCP puede detectar errores usando algunos métodos.

Aprendamos principalmente sobre el protocolo de enlace de 3 vías TCP. También aprendamos sobre los campos importantes en Wireshark para el protocolo de enlace de 3 vías.







Apretón de manos de 3 vías

Hay tres intercambios de marcos que ocurren en un apretón de manos de 3 vías:



  1. SYN
  2. VER+ACEPTAR
  3. ACK

El primer marco siempre es enviado por el cliente al servidor. Entendamos esto a partir de un diagrama simple:



'SERVIDOR DE CLIENTE'

Marco 1: el cliente envía el marco SYN al servidor----------------------------------->

<---------------------------------------------------------El servidor envía la trama SYN+ACK al cliente: Frame2

Marco 3: el cliente envía un marco ACK al servidor----------------------------------->

Podemos ver estos tres marcos en Wireshark. El filtro 'tcp' se puede usar en Wireshark para ver todos los marcos TCP. Aquí está la captura de pantalla de los tres marcos:





Ahora comprendamos los tres marcos en detalle:



SYN

Este marco contiene mucha información sobre las capacidades del cliente para informar al servidor. La siguiente captura de pantalla muestra todos los campos importantes del marco SYN:

Estos son los campos importantes para el marco SYN:

Puerto de origen: 50602
Puerto de destino: 80
Número de secuencia: 0
Número de reconocimiento: 0
Longitud del encabezado: 32 bytes
Indicadores: 0x002 (SYN):
Reconocimiento: no establecido
Empuje: no establecido
Restablecer: no establecido
Syn: Set  -----> Este bit se establece porque este es un marco SYN.
Aleta: No establecido
       
Ventana: 65535
Puntero Urgente: 0
Opción TCP - Tamaño máximo de segmento: 1460 bytes
Opción TCP - Escala de ventana: 3 (multiplicar por 8)
Opción TCP - SACK permitido

VER+ACEPTAR

Este marco contiene mucha información sobre las capacidades del servidor para informar al cliente. La siguiente captura de pantalla muestra todos los campos importantes del cuadro SYN+ACK:

Esta trama también reconoce la trama SYN que envía el cliente.

Estos son los campos importantes para el marco SYN+ACK:

Puerto de origen: 80
Puerto de Destino: 50602
Número de secuencia: 0
Número de reconocimiento: 1
   
Longitud del encabezado: 32 bytes (8)
Indicadores: 0x012 (SYN, ACK)
Reconocimiento: Establecer
Empuje: no establecido
Restablecer: no establecido
Su: Conjunto
Aleta: No establecido
       
Ventana: 29200
Puntero Urgente: 0
Opción TCP - Tamaño máximo de segmento: 1412 bytes
Opción TCP - SACK permitido
Opción TCP - Escala de ventana: 7 (multiplicar por 128)

 

Podemos ver que los bits 'Acknowledge' y 'SYN' están configurados en este cuadro. Esto se debe a que este cuadro es SYN+ACK.

ACK

Este cuadro es el último cuadro del protocolo de enlace de 3 vías y también el reconocimiento del SYN+ACK por parte del cliente. La siguiente captura de pantalla muestra todos los campos importantes del marco ACK:

Estos son los campos importantes para el marco ACK:

Puerto de origen: 50602
Puerto de destino: 80
Número de secuencia: 1
Número de reconocimiento: 1
Longitud del encabezado: 20 bytes (5)
Indicadores: 0x010 (ACK)
Urgente: No establecido
Reconocimiento: Establecer
Empuje: no establecido
Restablecer: no establecido
Syn: No establecido
Aleta: No establecido
       
Ventana: 32768

Aquí, solo se establece el bit 'Acknowledge' porque este es un marco ACK.

Explicación de algunos campos comunes importantes

Puerto 80 : Observamos un puerto fijo 80 en este tutorial. Es porque esta es una captura HTTP y el puerto 80 está fijo (lado del servidor) para la comunicación HTTP.

Secuencia de números : El número de secuencia de ese fotograma. Sync es el primer cuadro, por lo que tenemos 0 como número de secuencia.

Indicadores TCP:

Reconocimiento – Este bit se establece si la trama es un ACK. Ejemplo: SYN+ACK, trama ACK.

SYN – Este bit se establece si la trama es SYN. Ejemplo: SIN.

Ventana : este campo comparte el tamaño máximo de la ventana del remitente en el modo de recepción. Ejemplo: Tenemos el tamaño de ventana de 65535 bytes en el marco SYN. Esto significa que el receptor puede recibir un máximo de datos TCP de 65535 bytes en cualquier momento.

SACK Permitido : Este bit se establece si el envío admite SACK [reconocimiento selectivo].

Tamaño máximo de segmento : También podemos llamarlo MSS. Esto define el marco de datos máximo que el remitente puede recibir. Ejemplo: Obtenemos MSS como 1460 bytes en el marco SYN.

Conclusión

Aprendimos sobre el protocolo de enlace de 3 vías de TCP y todos los campos útiles para las tramas SYN, SYN+ACK y ACK. Si desea obtener más información sobre TCP, puede seguir este enlace RFC https://tools.ietf.org/html/rfc793 .