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.
- 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.
- Inicie la captura de Wireshark.
Paso 2: Descargar el archivo
Léame
- En el símbolo del sistema, introduzca ftp
ftp.cdc.gov.
- 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.
- 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):
Dirección
IP de origen: 192.168.1.17
Dirección
IP de destino: 198.246.112.54
Número
de puerto de origen: 49243
Número
de puerto de destino: 21
Número
de secuencia: 0
Número
de acuse de recibo: N/A
Longitud
del encabezado: 32 bytes
Tamaño
de la ventana: 8192
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.
Dirección
IP de origen: 198.246.112.54
Dirección
IP de destino: 192.168.1.17
Número
de puerto de origen: 21
Número
de puerto de destino: 49243
Número
de secuencia: 0
Número
de acuse de recibo: 1
Longitud
del encabezado: 32 bytes
Tamaño
de la ventana: 64240
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.
Dirección IP
de origen: 192.168.1.17
Dirección IP
de destino: 198.246.112.54
Número de
puerto de origen: 49243
Número de
puerto de destino: 21
Número de
secuencia: 1
Número de
acuse de recibo: 1
Longitud del
encabezado: 20
Tamaño de la
ventana: 8192
¿Cuántos otros datagramas TCP contenían un bit SYN?
Uno. El primer paquete que envió 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
- Establezca una consola y una conexión Ethernet
entre la PC-A y el switch S1.
- 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
- 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.
- 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.
- 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
- 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:
Dirección
IP de origen: 192.168.1.1
Dirección
IP de destino: 192.168.1.3
Número de
puerto de origen: 62513
Número de
puerto de destino: 69
Longitud
de mensaje UDP: 25 bites
Checksum
de UDP: 0x482c (correcto)
¿Cómo verifica UDP la integridad del datagrama?
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 está completo.
Examine la primera trama que devuelve el servidor tftpd. Complete la
información sobre el encabezado UDP:
Dirección
IP de origen: 192.168.1.3
Dirección
IP de destino: 192.168.1.1
Número de
puerto de origen: 58565
Número de
puerto de destino: 65513
Longitud
de mensaje UDP: 12 bytes
Checksum
de UDP: Checksum: 0x8372 [incorrecto; debe ser 0xa385 (¿puede deberse a la
“descarga de checksum 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?
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 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.
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.
Configuraciones
de dispositivos
Switch S1
S1#show run
Building configuration...
!
hostname S1
!
!
interface Vlan1
ip address 192.168.1.1 255.255.255.0
!
!
end
© 2014 Cisco y/o sus filiales. Todos los
derechos reservados. Este documento es información pública de Cisco.
No hay comentarios:
Publicar un comentario