Práctica de laboratorio: Uso de Wireshark para
examinar capturas de FTP y TFTP
Topología: parte 1 (FTP)
En la parte 1, se resaltará una captura de TCP
de una sesión FTP. Esta topología consta de una PC con acceso a Internet.
Topología: parte 2 (TFTP)
En la parte 2, se resaltará una captura de UDP
de una sesión TFTP. La PC debe tener tanto una conexión Ethernet como una
conexión de consola para el switch S1.

Tabla de direccionamiento (parte 2)

|
|
|
Máscara de
|
Gateway
|
|
|
|
|
|
|
|
||
Dispositivo
|
Interfaz
|
Dirección IP
|
subred
|
predeterminado
|
|
|
|
|
|
|
|
|
|
S1
|
VLAN 1
|
192.168.1.1
|
255.255.255.0
|
No aplicable
|
|
|
|
|
|
|
|
|
|
PC-A
|
NIC
|
192.168.1.3
|
255.255.255.0
|
192.168.1.1
|
|
|
|
|
|
|
|
|
|
Objetivos
Parte 1: Identificar campos de encabezado y
operación TCP mediante una captura de sesión FTP de Wireshark
Parte 2: Identificar campos de encabezado y
operación UDP mediante una captura de sesión TFTP de Wireshark
Información básica/Situación
Los dos
protocolos en la capa de transporte TCP/IP son TCP, definido en RFC 761, y UDP,
definido en RFC
768. Los dos protocolos admiten la comunicación de
protocolos de la capa superior. Por ejemplo, TCP se utiliza para proporcionar
soporte de la capa de transporte para los protocolos de transferencia de hipertexto
(HTTP) y FTP, entre otros. UDP proporciona soporte de la capa de transporte
para el Sistema de nombres de dominios (DNS) y TFTP, entre otros.
Nota: entender
las partes de los encabezados y de la operación TCP y UDP es una aptitud
fundamental con la que deben contar los ingenieros de red.
En la parte 1 de esta práctica de laboratorio,
utilizará la herramienta de código abierto de Wireshark para capturar y
analizar campos de encabezado del protocolo TCP para las transferencias de
archivos FTP entre el equipo host y un servidor FTP anónimo. Para conectarse a
un servidor FTP anónimo y descargar un archivo, se emplea la utilidad de línea
de comandos de Windows. En la parte 2 de esta práctica de laboratorio,
utilizará Wireshark para capturar y analizar campos de encabezado del protocolo
UDP para las transferencias de archivos TFTP entre el equipo host y el switch
S1.
Nota:
el switch que se utiliza es Cisco Catalyst 2960s con Cisco IOS versión 15.0(2)
(imagen de lanbasek9). Pueden utilizarse otros switches y versiones de
Cisco IOS. Según el modelo y la versión de Cisco IOS, los comandos disponibles
y los resultados obtenidos pueden diferir de los que se muestran en las
prácticas de laboratorio.
Nota:
asegúrese de que el switch se haya borrado y de que no tenga configuraciones de
inicio. Si no está seguro, consulte con el instructor.
Nota: en la
parte 1, se supone que la PC tiene acceso a Internet, y no se puede realizar
utilizando Netlab. La parte 2 es compatible con Netlab.
Recursos necesarios: parte 1 (FTP)
1 PC (Windows 7,
Vista o XP con acceso al símbolo del sistema, acceso a Internet y Wireshark
instalado)
Recursos necesarios: parte 2 (TFTP)
•
1 switch (Cisco 2960 con Cisco IOS, versión
15.0(2), imagen lanbasek9 o similar)
•
1 PC (Windows 7, Vista o XP con Wireshark y un
servidor TFTP, como tftpd32, instalados)
•
Cable de consola para configurar los
dispositivos Cisco IOS a través del puerto de consola
•
Cable Ethernet como se muestra en la topología
Parte 1: Identificar campos de encabezado y operación
TCP mediante una captura de sesión FTP de Wireshark
En la parte 1, se
utiliza Wireshark para capturar una sesión FTP e inspeccionar los campos de
encabezado TCP.
Paso 1: Inicie una captura de Wireshark.
a. Cierre todo el tráfico de la red innecesario,
como el explorador Web, para limitar la cantidad de tráfico durante la captura
de Wireshark.
b.
Inicie la captura de Wireshark.
Paso 2: Descargar el archivo Léame
a.
En el símbolo del sistema, introduzca ftp
ftp.cdc.gov.
b. Conéctese al sitio FTP de Centros para el
Control y la Prevención de Enfermedades (CDC) con el usuario anonymous y
sin contraseña.
c.
Ubique y descargue el archivo Léame.

Paso 3: Detener la captura de Wireshark
Paso 4: Ver la ventana principal de Wireshark
Wireshark
capturó muchos paquetes durante la sesión FTP a ftp.cdc.gov. Para limitar la
cantidad de datos para analizar, escriba tcp and ip.addr == 198.246.112.54
en el área de entrada Filter: (Filtrar:) y haga clic en Apply
(Aplicar). La dirección IP, 198.246.112.54, es la dirección para ftp.cdc.gov.

Paso 5: Analizar los campos TCP
Una vez aplicado el filtro TCP, las primeras
tres tramas en el panel de la lista de paquetes (sección superior) muestran el
protocolo de la capa de transporte TCP que crea una sesión confiable. La
secuencia de [SYN], [SYN, ACK] y [ACK] ilustra el protocolo de enlace de tres
vías.
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. Por último, cuando la sesión FTP finaliza, TCP realiza un cierre y
terminación ordenados.
En Wireshark, se encuentra
disponible información detallada sobre TCP en el panel de detalles del paquete
(sección media) . Resalte el primer datagrama TCP del equipo host y expanda el
registro TCP. El datagrama TCP expandido parece similar al panel de detalles
del paquete que se muestra a continuación.

La imagen anterior es un diagrama del datagrama TCP.
Se proporciona una explicación de cada campo para referencia:
•
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 1,023.
•
El número de
puerto de destino TCP se utiliza para identificar el protocolo de capa
superior o la aplicación en el sitio remoto. Los valores en el intervalo de 0 a
1023 representan los “puertos bien conocidos” y están asociados a servicios y
aplicaciones populares (como se describe en la RFC 1700, por ejemplo, Telnet,
FTP, HTTP, etc.). La combinación de dirección IP de origen, puerto de origen,
dirección IP de destino y puerto de destino identifica de manera exclusiva la
sesión tanto para el emisor como para el receptor.
Nota: en la captura de Wireshark que se muestra a continuación, el puerto de
destino es 21, que es FTP.
Los servidores
FTP escuchan las conexiones de cliente FTP en el puerto 21.
•
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; solo está configurado cuando
se negocia una sesión TCP nueva durante el protocolo de enlace de tres vías.
-
FIN: finalizar; solicitud para cerrar la sesión
TCP.
•
Window size (Tamaño de la ventana) es el valor de la ventana
deslizante; determina cuántos octetos se pueden enviar antes de esperar
un acuse de recibo.
•
Urgent
pointer (Indicador urgente) se
utiliza solo con un indicador urgente (URG) cuando el emisor necesita
enviar datos urgentes al receptor.
•
En Options
(Opciones), hay una sola opción actualmente, y se define como el tamaño máximo
del segmento TCP (valor optativo).
Utilice la captura de Wireshark del inicio de la
primera sesión TCP (bit SYN establecido en 1) para completar la información
acerca del encabezado TCP:
De la PC al
servidor CDC (solo el bit SYN está establecido en 1):












En la segunda
captura filtrada de Wireshark, el servidor FTP de CDC acusa recibo de la
solicitud de la PC.
Observe los
valores de los bits SYN y ACK.
Complete la
siguiente información con respecto al mensaje SYN-ACK.
En la etapa final de la negociación para
establecer las comunicaciones, la PC envía un mensaje de acuse de recibo al
servidor. Observe que solo el bit ACK está establecido en 1, y el número de
secuencia se incrementó a 1.
Complete la
siguiente información con respecto al mensaje ACK.













¿Cuántos otros datagramas TCP contenían un bit
SYN?
Respuesta: Uno, el primer paquete que envío el host al principio de una sesión TCP
Una vez establecida una sesión TCP, puede haber
tráfico FTP entre la PC y el servidor FTP. El cliente y el servidor FTP se
comunican entre sí sin saber que TCP tiene el control y manejo de la sesión.
Cuando el servidor FTP envía una Response: 220 (Respuesta: 220) al cliente FTP,
la sesión TCP en el cliente FTP envía un acuse de recibo a la sesión TCP en el
servidor. Esta secuencia se puede ver en la captura de Wireshark, a
continuación.


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 Response: 221 Goodbye (Respuesta: 221. Adiós). En este momento, la
sesión TCP del servidor FTP envía un datagrama TCP al cliente FTP, en el que se
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 puede ver
en el diagrama y la captura que se muestran a continuación.

Si se aplica un filtro ftp, puede
examinarse la secuencia completa del tráfico FTP en Wireshark. Observe la
secuencia de eventos durante esta sesión FTP. Para recuperar el archivo Léame,
se utilizó el nombre de usuario anónimo. Una vez que se completó la
transferencia de archivos, el usuario finalizó la sesión FTP.
Vuelva a aplicar el filtro TCP en Wireshark para
examinar la terminación de la sesión TCP. Se transmiten cuatro paquetes para la
terminación de la sesión TCP. Dado que la conexión TCP es full-duplex, cada
dirección debe terminar independientemente. Examine las direcciones de origen y
destino.
En este ejemplo, el servidor FTP no tiene más
datos para enviar en el stream; envía un segmento con el conjunto de
indicadores FIN en la trama 63. La PC envía un ACK para acusar recibo del FIN
para terminar la sesión del servidor al cliente en la trama 64.
En la trama 65, la PC envía un FIN al servidor
FTP para terminar la sesión TCP. El servidor FTP responde con un ACK para
acusar recibo del FIN de la PC en la trama 67. Ahora, la sesión TCP terminó
entre el servidor FTP y la PC.

Parte 2: Identificar campos de encabezado y
operación UDP mediante una captura de sesión TFTP de Wireshark
En la parte 2, se
utiliza Wireshark para capturar una sesión TFTP e inspeccionar los campos de
encabezado UDP.
Paso 1: Configurar esta topología física y prepararse para la captura de
TFTP

a.
Establezca una consola y una conexión Ethernet
entre la PC-A y el switch S1.
b. Si aún no lo hizo, configure manualmente la
dirección IP de la PC en 192.168.1.3. No se requiere configurar el gateway
predeterminado.
c. Configure el switch. Asigne la dirección IP
192.168.1.1 a VLAN 1. Verifique la conectividad con la PC haciendo ping a
192.168.1.3. Resuelva cualquier problema que se presente.
Switch>
enable Switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# host S1
S1(config)# interface
vlan 1
S1(config-if)# ip address 192.168.1.1 255.255.255.0
S1(config-if)# no shut
*Mar 1 00:37:50.166: %LINK-3-UPDOWN: Interface
Vlan1, changed state to up
*Mar 1 00:37:50.175: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Vlan1, changed state to up
S1(config-if)# end S1# ping 192.168.1.3
Type escape
sequence to abort.
Sending 5,
100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:
!!!!!
Success rate
is 100 percent (5/5), round-trip min/avg/max = 1/203/1007 ms
Paso 2: Preparar el servidor TFTP en la PC
a. Si aún no existe, cree una carpeta en el
escritorio de la PC con el nombre TFTP. Los archivos del switch se
copiarán a esta ubicación.
b.
Inicie tftpd32 en la PC.
c. Haga clic en Browse (Buscar), cambie el
directorio actual por C:\Usuarios\usuario1\Escritorio\TFTP y reemplace
usuario1 con su nombre de usuario.
El servidor TFTP
debería verse así:
Observe que, en Current Directory (Directorio
actual), se indica la interfaz de usuario y servidor (PC-A) como la dirección
IP 192.168.1.3.
d. Pruebe la capacidad de copiar un archivo del
switch a la PC con TFTP. Resuelva cualquier problema que se presente.
S1# copy
start tftp
Address or name of remote host []? 192.168.1.3
Destination filename [s1-confg]?
!!
1638 bytes
copied in 0.026 secs (63000 bytes/sec)
Si ve que el archivo se copió (como en el
resultado de arriba), entonces está listo para avanzar al siguiente paso. De lo
contrario, resuelva el problema. Si recibe el mensaje de error %Error opening tftp (Permission denied) (Error
al abrir tftp [permiso denegado]), primero asegúrese de que el firewall no esté
bloqueando el TFTP y de que esté copiando a una ubicación donde su nombre de
usuario tiene el permiso adecuado, como el escritorio.
Paso 3: Capturar una sesión TFTP en Wireshark
a. Abra Wireshark. En el menú Edit (Editar),
seleccione Preferences (Preferencias) y haga clic en el signo más (+)
para expandir Protocols (Protocolos). Desplácese hacia abajo y
seleccione UDP. Haga clic en la casilla de verificación Validate the
UDP checksum if possible (Validar checksum UDP si es posible) y luego en Apply
(Aplicar). A continuación, haga clic en OK (Aceptar).
b.
Inicie una captura de Wireshark.
c.
Ejecute el comando copy
start tftp en el switch.
d.
Detener la captura de Wireshark
e. Defina el filtro en tftp. El resultado
debe ser similar al que se muestra más arriba. Esta transferencia TFTP se
utiliza para analizar el funcionamiento de la capa de transporte UDP.
En Wireshark, se encuentra disponible
información detallada sobre UDP en el panel de detalles del paquete. Resalte el
primer datagrama UDP del equipo host y mueva el puntero del mouse hacia el
panel de detalles del paquete. Puede ser necesario ajustar el panel de detalles
del paquete y expandir el registro UDP con un clic en la casilla de expansión
de protocolo. El datagrama UDP expandido debe ser similar al diagrama
siguiente.
En la siguiente ilustración, se muestra un
diagrama de datagrama UDP. La información del encabezado está dispersa
comparada con la del datagrama TCP. Al igual que TCP, cada datagrama UDP está
identificado con 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:










¿Cómo verifica
UDP la integridad del datagrama?
Respuesta: Se envía un valor de checksum en el datagrama UDP, y el valor de checksum del datagrama se vuelve a calcular al recibirlo. Si el valor de checksum calculado es idéntico al valor de checksum enviado, entonces se supone que el datagrama UDP esta completo.
Examine la
primera trama que devuelve el servidor tftpd. Complete la información sobre el
encabezado UDP:









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, se utiliza solo el puerto de origen que se
empleó para iniciar la sesión TFTP.
También observe que el valor de checksum UDP es
incorrecto. Lo más probable es que se deba a la descarga de checksum UDP. Para
obtener más información acerca del motivo por el cual sucede esto, realice una
búsqueda de “UDP checksum offload”.
Reflexión
Esta práctica de laboratorio brindó a los
estudiantes la oportunidad de analizar las operaciones de los protocolos UDP y
TCP de las sesiones TFTP y FTP capturadas. ¿De qué manera TCP administra la
comunicación distinto de como lo hace UDP?
Respuesta: TCP administra la comunicación de manera muy diferente que UDP, porque la confiabilidad y la entrega garantizada requieren mayor control sobre el canal de comunicación. UDP tiene menos sobre carga 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.
Desafío
Debido a que ni FTP ni TFTP son protocolos
seguros, todos los datos transferidos se envían en texto no cifrado. Esto
incluye cualquier ID de usuario, contraseñas o contenido de archivo en texto no
cifrado. Si analiza la sesión FTP de capa superior, identificará rápidamente la
ID de usuario, la contraseña y las contraseñas de archivos 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 sobre la ID de usuario de
configuración y la contraseña.
Limpieza
Salvo que el
instructor indique lo contrario:
1)
Elimine los archivos que se copiaron a su PC.
2)
Borre las configuraciones del switch S1.
3)
Elimine la dirección IP manual de la PC y
restaure la conectividad a Internet.
No hay comentarios:
Publicar un comentario