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
No hay comentarios:
Publicar un comentario