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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)
Topología: parte 2 (TFTP)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif)
Tabla de direccionamiento (parte 2)
Dispositivo
|
Interfaz
|
Dirección
IP
|
Máscara de subred
|
Gateway 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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg)
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.4
|
Dirección
IP de destino:
|
198.264.112.54
|
Número
de puerto de origen:
|
2330
|
Número
de puerto de destino:
|
21
|
Número
de secuencia:
|
0 (relativo)
|
Número
de acuse de recibo:
|
0
|
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg)
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.4
|
Número de puerto de origen:
|
21
|
Número de puerto de destino:
|
2330
|
Número de secuencia:
|
0 (relativo)
|
Número de acuse de recibo:
|
1 (relativo ack)
|
Longitud del encabezado:
|
23 bytes
|
Tamaño de la ventana:
|
8192
|
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image032.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg)
Complete la siguiente información con respecto al mensaje
ACK.
Dirección IP de origen:
|
192.168.1.4
|
Dirección IP de destino:
|
198.246.112.54
|
Número de puerto de origen:
|
2330
|
Número de puerto de destino:
|
21
|
Número de secuencia:
|
1 (relativo)
|
Número de acuse de recibo:
|
1 (relativo ack)
|
Longitud del encabezado:
|
20 bytes
|
Tamaño de la ventana:
|
2048
|
¿Cuántos otros datagramas TCP
contenían un bit SYN? Un datagrama, porque fue 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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image039.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image041.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image043.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg)
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image047.jpg)
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
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image048.gif)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image049.jpg)
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í:
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image050.jpg)
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).
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image052.jpg)
c. Ejecute
el comando copy start tftp
en el switch.
d. Detener
la captura de Wireshark
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image053.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image055.jpg)
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.
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image057.jpg)
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 bytes
|
Checksum de UDP:
|
0x428c [correct]
|
¿Cómo verifica UDP la integridad
del datagrama? Al enviar un valor de checksum en el
datagrama UDP, al recibirlo se vuelve a calcular el nuevo valor de checksum. Si
ambos valores, tanto el enviado como el nuevo resultado, es decir, el recibido
son iguales, el datagrama UDP estará 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:
|
62513
|
Longitud
de mensaje UDP:
|
12 bytes
|
Checksum
de UDP:
|
![](file:///C:/Users/CA760C~1.N/AppData/Local/Temp/msohtmlclip1/01/clip_image059.jpg)
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?
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
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