CCNA

CCNA
Cisco Networking Academy

Archivo del blog

lunes, 7 de abril de 2014

Laboratorio 4.5.2: Protocolos de la capa de transporte TCP/IP, TCP y UDP

Diagrama de topología  
 



Tabla de direccionamiento

Dispositivos
Interfaz
IP
Mascara de red
Gateway
R1-ISP
S0/0/0
10.10.10.6
255.255.255.252
No aplicable

Fa0/0
192.168.254.253
255.255.255.0
No aplicable
R2-Central
S0/0/0
10.10.10.5
255.255.255.252
No aplicable

Fa0/0
172.16.255.254
255.255.0.0
No aplicable
Eagle Server
No aplicable
192.168.254.254
255.255.255.0
192.168.254.253

No aplicable
172.31.24.254
255.255.255.0
No aplicable
hostPod#A
No aplicable
172.16.Pod#.1
255.255.0.0
172.16.255.254
hostPod#B
No aplicable
172.16.Pod#.2
255.255.0.0
172.16.255.254
S1-Central
No aplicable
172.16.254.1
255.255.0.0
172.16.255.254

Objetivos de aprendizaje

       Identificar campos de encabezado y operación TCP mediante el uso de una captura de sesión FTP Wireshark.
       Identificar campos de encabezado y operación UDP mediante el uso de una captura de sesión TFTP Wireshark.

Información básica  

Los dos protocolos en la capa de Transporte TCP/IP son: el Transmission Control Protocol (TCP) definido en RFC 761, en enero de 1980; y el User Datagram Protocol (UDP), definido en RFC 768, en agosto de 1980. Ambos protocolos admiten la comunicación de protocolo de capa superior. Por ejemplo, el TCP se utiliza para proveer soporte de la capa de Transporte para los protocolos HTTP y FTP, entre otros. El UDP provee soporte de la capa de Transporte para servicios de nombres de dominio (DNS) y Trivial File Transfer Protocol (TFTP), entre otros.

La capacidad para entender las partes de los encabezados y de la operación TCP y UDP es una habilidad muy importante para los ingenieros de red.

Escenario
Mediante la captura Wireshark, analizar los campos de encabezado del protocolo UDP y
TCP para la transferencia de archivos entre el equipo host y Eagle Server. Si no se cargó Wireshark en el equipo host del módulo, lo puede descargar desde ftp://eagleserver.example.com/pub/eagle_labs/eagle1/chapter4/, archivo wiresharksetup-0.99.4.exe.

Las utilidades de Windows de línea de comandos ftp y tftp se utilizará para conectarse a Eagle Server y descargar archivos.  (No esta activo tendreis que utilizar otro servidor ftp y tftp)
           (en mi caso utilizo un servidor de ftp y tftp, en mi red local con ip 172.16.20.1)
Tarea 1: Identificar campos de encabezado y operación TCP mediante el uso de una captura de sesión FTP Wireshark.
Paso 1: Capture una sesión FTP.
Las sesiones TCP se controlan y administran debidamente con información que se intercambia en los campos de encabezado TCP. En esta tarea se realizará una sesión FTP con Eagle Server. Cuando finalice, se analizará la captura de sesión. Las computadoras con Windows utilizan al cliente FTP, ftp, para conectarse al servidor FTP. Una ventana de línea de comandos iniciará la sesión FTP y se descargar el archivo de configuración de texto para S1 central de Eagle Server,
/pub/eagle_labs/eagle1/chapter4/s1-central al equipo host.

Abra una ventana de línea de comandos con un clic en Iniciar / Ejecutar, escriba cmd y luego presione Aceptar.  


Figura 1. Ventana de línea de comandos. Deberá abrirse una ventana similar a la Figura 1.  

Inicie una captura Wireshark en la interfaz que tenga la dirección IP 172,16.Pod#.[1-2].

Inicie una conexión FTP con Eagle Server. Escriba el comando:

> ftp eagle-server.example.com (hay que utilizar otro servidor ftp)

Cuando se le pida un nombre de usuario, escriba anonymous. Cuando se le pida una contraseña, presione <INTRO>.

Cambie el directorio FTP a /pub/eagle_labs/eagle1/chapter4/:  
ftp> cd /pub/eagle_labs/eagle1/chapter4/

Descargue el archivo s1-central:
ftp> get s1-central

Cuando termine, finalice las sesiones FTP en cada ventana de línea de comandos con el comando FTP quit:
ftp> quit

Cierre la ventana de línea de comandos con el comando exit:
> exit  

Detenga la captura Wireshark.
Paso 2: Analice los campos TCP.

Figura 2. Captura FTP.
Cambie a las ventanas de captura Wireshark. La ventana superior contiene resumen de información para cada registro capturado. La captura realizada por el estudiante debe ser similar a la captura que se muestra en la Figura 2. Antes de profundizar en los detalles del paquete TCP, se necesita una explicación del resumen de información. Cuando el cliente FTP está conectado al servidor FTP, el protocolo TCP de la capa de Transporte creó una sesión confiable. El TCP se utiliza en forma continua durante una sesión para controlar la entrega del datagrama, verificar la llegada del datagrama y administrar el tamaño de la ventana. Por cada intercambio de datos entre el cliente FTP y el servidor FTP, se inicia una nueva sesión TCP. Al término de la transferencia de datos, se cierra la sesión TCP. Finalmente, cuando la sesión FTP finaliza, TCP realiza un cierre y terminación ordenados.  


Figura 3. Captura Wireshark de un datagrama TCP.
Hay información TCP detallada disponible en la ventana del medio, en Wireshark. Resalte el primer datagrama TCP del equipo host y mueva el puntero del mouse hacia la ventana del medio. Puede ser necesario ajustar la ventana del medio y expandir el registro TCP con un clic en la casilla de expansión de protocolo. El datagrama TCP expandido debe ser similar a la Figura 3.

¿Cómo se identifica el primer datagrama en una sesión TCP?

Se identifica enviando la sequence number 0 y en los flags pone a 1 el bit Syn



Figura 4. Campos del paquete TCP. Observe la Figura 4, un diagrama de datagrama TCP. Se provee a los estudiantes una explicación de cada campo para refrescarles la memoria:

       El número de puerto de origen TCP pertenece al host de la sesión TCP que inició una conexión. Generalmente el valor es un valor aleatorio superior a 1023.  
       El número de puerto de destino se utiliza para identificar el protocolo de capa superior o la aplicación en un sitio remoto. Los valores dentro del intervalo 0 – 1023 representan a los llamados “puertos bien conocidos” y están asociados con servicios y aplicaciones conocidos (como se describe en RFC 1700, telnet, File Transfer Protocol (FTP), HyperText Transfer Protocol (HTTP), etc.). La combinación de campo cuádruple (dirección IP de origen, puerto de origen, dirección IP de destino, puerto de destino) identifica de manera exclusiva la sesión, tanto del emisor como del receptor.
       El número de secuencia especifica el número del último octeto en un segmento.
       El número de acuse de recibo especifica el próximo octeto que espera el receptor.
       Los bits de código tienen un significado especial en la administración de sesión y en el tratamiento de los segmentos. Entre los valores interesentes se encuentran:
       ACK (Acuse de recibo de un segmento),  
       SYN (Sincronizar, configurar sólo cuando una sesión TCP nueva se negocia durante un protocolo de enlace de tres vías).
       FIN (Finalizar, solicitud para cerrar la sesión TCP).
       El tamaño de la ventana es el valor de la ventana deslizante; cuántos octetos se pueden enviar antes de esperar un acuse de recibo.
       El puntero urgente se utiliza sólo con un señalizador URG (Urgente) cuando el emisor necesita enviar datos urgentes al receptor.
       Opciones: La única opción definida actualmente es el tamaño de segmento TCP máximo (valor opcional).
Utilice la captura Wireshark del inicio de la primera sesión TCP (bit SYN fijado en 1) para completar la información acerca del encabezado TCP.

Del equipo host del módulo a Eagle Server (sólo el bit SYN se fija en 1):

Dirección IP de origen: 172.16.___.___
 172.16.186.85
Dirección IP destino: _______________
 172.16.20.1
Número de puerto de origen:        ________
 1923
Número de puerto de destino: __________
 21
Número de secuencia:   ______________
 0
Número de acuse de recibo: ___________
 (no existe)
Longitud del encabezado:            ________
 28 bytes
Tamaño de la ventana:      _____________
 65535 bytes

De Eagle Server al equipo host del módulo (sólo los bits SYN y ACK se fijan en 1):

Dirección IP de origen: _______________
 172.16.20.1
Dirección IP destino: 172.16.___.___
 172.16.186.85
Número de puerto de origen:        ________
 21
Número de puerto de destino: __________
 1923
Número de secuencia:   ______________
 0
Número de acuse de recibo: ___________
 1
Longitud del encabezado:            ________
 28 bytes
Tamaño de la ventana:          ___________
 14600 bytes

Del equipo host del módulo a Eagle Server (sólo el bit ACK se fija en 1):

Dirección IP de origen: 172.16.___.___
 172.16.186.85
Dirección IP destino: _______________
 172.16.20.1
Número de puerto de origen:        ________
 1923
Número de puerto de destino: __________
 21
Número de secuencia:   ______________
 1
Número de acuse de recibo: ___________
 1
Longitud del encabezado:            ________
 20 bytes
Tamaño de la ventana:          ___________
 65535 bytes

A excepción de la sesión TCP iniciada cuando se realizó una transferencia de datos, ¿cuántos otros datagramas TCP contienen un bit SYN?

Se vuelve a activar el bit Syn cuando el servidor va a iniciar la descarga del archivo que solicitamos con la orden get,  y justo en la siguiente trama, cuando nuestro host le responde.(en el caso de que hubieramos subido un archivo con la orden put, al servidor se hubiera activado tambien pero en orden inverso)

Los atacantes se aprovechan del protocolo de enlace de tres vías al iniciar una conexión “half-open”. En esta secuencia la sesión TCP inicial envía un datagrama TCP con el bit SYN establecido y el receptor envía un datagrama TCP relacionado con los bits SYN ACK establecidos. Un bit ACK final no se envía nunca para finalizar el intercambio TCP. En cambio, se inicia una conexión TCP nueva de manera half-open. Con suficientes sesiones TCP en estado half-open, el equipo receptor agotará recursos y colapsará. Un colapso puede incluir una pérdida de servicios de red o un daño en el sistema operativo. De cualquier modo, el atacante gana. El servicio de red se ha detenido en el receptor. Éste es un ejemplo de ataque de denegación de servicio (DoS).


Figura 5. Administración de sesión TCP.
El cliente y el servidor FTP se comunican uno con el otro sin saber y sin importarles que TCP tenga el control y manejo de la sesión. Cuando el servidor FTP envía una Respuesta: 220 al cliente FTP, la sesión TCP del cliente FTP envía un acuse de recibo a la sesión TCP en Eagle Server. Esta secuencia se muestra en la Figura 5 y es visible en la captura Wireshark.  
 


Figura 6. Terminación de la sesión TCP ordenada.
Cuando la sesión FTP terminó, el cliente FTP envía un comando para “salir”. El servidor FTP acusa recibo de la terminación FTP con una Respuesta 221 Adiós. En este momento la sesión TCP del servidor FTP envía un datagrama TCP al cliente FTP que anuncia la terminación de la sesión TCP. La sesión TCP del cliente FTP acusa recibo de la recepción del datagrama de terminación y luego envía su propia terminación de sesión TCP. Cuando quien originó la terminación TCP (servidor FTP) recibe una terminación duplicada, se envía un datagrama ACK para acusar recibo de la terminación y se cierra la sesión TCP. Esta secuencia se muestra en la Figura 6 y es visible en la captura Wireshark.

Sin una terminación ordenada, como por ejemplo cuando se interrumpe la conexión, las sesiones TCP esperarán un cierto período de tiempo hasta cerrarse. El valor de límite de tiempo de espera predeterminado varía, pero normalmente es de 5 minutos.

Tarea 2: Identificar campos de encabezado y operación UDP mediante el uso de una captura de sesión TFTP Wireshark.
Paso 1: Capture una sesión TFTP.
Siga el procedimiento de la Tarea 1 de arriba y abra una ventana de línea de comandos. El comando TFTP tiene una sintaxis diferente a la de FTP. Por ejemplo: no hay autenticación. También, hay sólo dos comandos: get, para recuperar un archivo y put, para enviar un archivo.

>tftp –help

Transfiere los archivos a y desde un equipo remoto con el servicio TFTP en funcionamiento.

TFTP [-i] host [GET | PUT] origen [destino]

  -i       Especifica el modo de transferencia binario (llamado también            octeto). En modo binario el archivo se transfiere            literalmente, byte a byte. Use este modo cuando            transfiera archivos binarios.   host     Especifica el host remoto o local.
  GET      Transfiere el archivo destino en el host remoto al            archivo origen en el host local.
  PUT      Transfiere el archivo origen en el host local al            archivo destino en el host remoto.   origen   Especifica el archivo a transferir.
      destino    Especifica dónde transferir el archivo.
Tabla 1. Sintaxis TFTP para un cliente TFTP Windows.
La Tabla 1 contiene sintaxis de cliente TFTP Windows. El servidor TFTP tiene su propio directorio en Eagle Server, /tftpboot, que es diferente de la estructura del directorio admitido por el servidor FTP. No se admite ninguna autenticación.  

Inicie una captura Wireshark, luego descargue el archivo de configuración s1-central de Eagle Server con el cliente TFTP Windows. El comando y la sintaxis para realizar esto se muestran debajo:

>tftp eagle-server.example.com get s1-central(utilizamos el servidor anterior)
Paso 2: Analice los campos UDP.


Figura 7. Captura de resumen de una sesión UDP.
Cambie a las ventanas de captura Wireshark. La captura realizada por el estudiante debe ser similar a la captura que se muestra en la Figura 7. Se utilizará una transferencia TFTP para analizar la operación de capa de Transporte UDP.  




Figura 8. Captura Wireshark de un datagrama UDP.
Hay información UDP detallada disponible en la ventana del medio en Wireshark. Resalte el primer datagrama UDP del equipo host y mueva el puntero del mouse hacia la ventana del medio. Puede ser necesario ajustar la ventana del medio y expandir el registro UDP con un clic en la casilla de expansión de protocolo. El datagrama UDP expandido debe ser similar a la Figura 8.


Figura 9. Formato UDP.
Observe la Figura 9, un diagrama de datagrama UDP. La información del encabezado está dispersa comparada con la del datagrama TCP. Sin embargo hay similitudes. Cada datagrama UDP es identificado por el puerto de origen UDP y el puerto de destino UDP.

Utilice la captura Wireshark del primer datagrama UDP para completar la información acerca del encabezado UDP. El valor de la checksum es un valor hexadecimal (base 16) indicado por el código anterior 0x:

Dirección IP de origen: 172.16.___.___
 172.16.186.85
Dirección IP destino: _______________
 172.16.20.1
Número de puerto de origen:        ________
 1383
Número de puerto de destino: __________
 69
Longitud de mensaje UDP:           ________
 25
Checksum de UDP:       _____________
 0x922b [validation disabled]

¿Cómo verifica UDP la integridad del datagrama?

Tal como indica el Checksum, No la verifica. Se encargara la aplicación de la capa superior
 __________________________________________________________________________


Examine el primer paquete devuelto por Eagle Server. Complete la información acerca del encabezado UDP:

Dirección IP de origen:  
 172.16.20.1
Dirección IP destino: 172.16.___.___
 172.16.186.85
Número de puerto de origen:        ________
 51077
Número de puerto de destino: __________
 1383
Longitud de mensaje UDP:           ________
 27
Checksum de UDP:       0x_____________
 0x192e [validation disabled]

Observe que el datagrama UDP devuelto tiene un puerto de origen UDP diferente, pero este puerto de origen es utilizado para el resto de la transferencia TFTP. Dado que no hay una conexión confiable, para mantener la transferencia TFTP, sólo se utiliza el puerto de origen usado para comenzar la sesión TFTP.

Tarea 5: Reflexión

Esta práctica de laboratorio brindó a los estudiantes la oportunidad de analizar las operaciones de protocolo UDP y TCP de sesiones TFTP y FTP capturadas. TCP administra la comunicación de manera muy diferente a UDP, pero la confiabilidad y garantía ofrecidas requieren un control adicional sobre el canal de comunicación. UDP tiene menos sobrecarga y control, y el protocolo de capa superior debe proveer algún tipo de control de acuse de recibo. Sin embargo, ambos protocolos transportan datos entre clientes y servidores con el uso de los protocolos de la capa de Aplicación y son correctos para el protocolo de capa superior que cada uno admite.

Tarea 6: Desafío

Debido a que ni FTP ni TFTP son protocolos seguros, todos los datos transferidos se envían en texto sin cifrar. Esto incluye ID de usuario, contraseñas o contenidos de archivo en texto sin cifrar. Si analiza la sesión FTP de capa superior identificará rápidamente el id de usuario, contraseña y contraseñas de archivo de configuración. El examen de datos TFTP de capa superior es un poco más complicado, pero se puede examinar el campo de datos y extraer información de configuración de id de usuario y contraseña.

Tarea 7: Limpieza

Durante esta práctica de laboratorio se transfirieron varios archivos al equipo host y se deben eliminar.  


A menos que el instructor le indique lo contrario, apague las computadoras host. Llévese todo aquello que haya traído al laboratorio y deje el aula lista para la próxima clase