Diagrama de topología
Dispositivo
|
Interfaz
|
Dirección IP
|
Mascara de
subred
|
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
Al completar esta práctica de
laboratorio, usted podrá:
• Configurar
la computadora host para capturar protocolos de la capa de aplicación.
• Capturar
y analizar la comunicación HTTP entre la computadora host del módulo y un
servidor Web.
• Capturar
y analizar la comunicación FTP entre la computadora host del módulo y un
servidor FTP.
• Observar
los canales TCP para establecer y administrar la comunicación con conexiones
HTTP y FTP.
Información básica
La función
principal de la capa de transporte es mantener un registro de las
conversaciones de múltiples aplicaciones en el mismo host. Sin embargo, cada aplicación tiene
determinados requisitos para sus datos y, por lo tanto, se han desarrollado
diferentes protocolos de transporte para que cumplan con estos requisitos.
Los protocolos de la capa de
aplicación definen la comunicación entre servicios de red, como un servidor Web
y un cliente y un servidor FTP y un cliente. Los clientes inician la comunicación
con el servidor adecuado y el servidor responde al cliente. Para cada servicio
de red existe un servidor determinado que escucha, en un puerto determinado,
las conexiones del cliente. Puede haber diversos servidores en el mismo
dispositivo final. Un usuario puede abrir diferentes aplicaciones del cliente
para el mismo servidor, pero cada cliente se comunica, en forma exclusiva, con
una sesión establecida entre el cliente y el servidor.
Los protocolos de la capa de
aplicación se basan en los protocolos TCP/IP de menor nivel, como TCP o UDP.
Esta práctica de laboratorio examina dos protocolos populares de la capa de
aplicación, HTTP y FTP, y la manera en que los protocolos de la capa de
transporte, TCP y UDP, administran el canal de comunicación. También se
examinan las solicitudes más comunes de los clientes y las correspondientes
respuestas del servidor.
Escenario
En esta práctica de laboratorio se
utilizarán las aplicaciones del cliente para conectarse a los servicios de red
del eagle server. El usuario monitorea la comunicación con Wireshark y analiza
los paquetes capturados.
Se utiliza un explorador Web como Internet
Explorer o Firefox para conectarse al servicio de red del eagle server. Eagle
server tiene varios servicios de red previamente configurados, como el HTTP,
que esperan responder las solicitudes del cliente.
También se utilizará el explorador
Web para examinar el protocolo FTP y el cliente de línea de comando FTP. El
ejercicio demostrará que, aunque los clientes pueden diferir, la comunicación
subyacente con el servidor sigue siendo la misma.
Tarea 1:
Configuración de la computadora host del módulo para capturar protocolos de la
capa de aplicación.
La práctica de laboratorio debe estar
configurada como se muestra en el Diagrama de topología y en la tabla de
dirección lógica. En caso contrario, pídale ayuda al instructor antes de
continuar.
Paso 1: Descargar e instalar wireshark.
Figura 1. Descarga de
FTP para Wireshark
Si Wireshark no está instalado en la
computadora host del módulo, puede descargarse desde eagleserver.example.com.
Vea la Figura 1. El URL de descarga es: ftp://eagleserver.example.com/pub/eagle_labs/eagle1/chapter3.
1. Haga
clic con el botón derecho del mouse sobre el nombre del archivo wireshark.
Luego, guarde el archivo en la computadora host del módulo.
2. Cuando
el archivo se haya descargado, haga doble clic en el nombre del archivo e
instale Wireshark con las configuraciones predeterminadas.
Paso 2: Iniciar Wireshark y configurar la Interfaz de captura.
1. Inicie
Wireshark desde Inicio > Todos los
programas > Wireshark > Wireshark.
2. Cuando
se muestra la ventana que se abre, establezca la Interfaz de captura correcta.
La interfaz correcta es la interfaz
con la dirección IP de la computadora host del módulo. Vea la Figura 2.
Figura 2: Ventana de
captura de interfaz de Wireshark
Wireshark puede iniciarse haciendo
clic en el botón Inicio de la
interfaz. Después, la interfaz se utiliza como predeterminada y no se la
necesita cambiar.
Wireshark debe comenzar a registrar
datos.
3. Detenga
Wireshark por ahora. Wireshark se utilizará en las siguientes tareas.
Tarea 2:
Captura y análisis de la comunicación HTTP entre la computadora host del módulo
y un servidor Web.
HTTP es un protocolo de capa de
aplicación que depende de los protocolos de menor nivel, como TCP, para
establecer y administrar el canal de comunicación. HTTP versión 1.1 se define
en RFC 2616, en el año 1999. Esta parte de la práctica de laboratorio
demostrará cómo las sesiones entre múltiples clientes Web y el servidor Web se
mantienen separadas.
Paso 1: Iniciar las capturas de Wireshark.
Inicie una captura de Wireshark.
Wireshark mostrará capturas basadas en el tipo de paquete.
Paso 2: Iniciar el explorador Web del host del módulo.
1. Con
un explorador Web, como Internet Explorer o Firefox, conéctese al URL http://eagle-
server.example.com. Se
muestra una página Web similar a la de la Figura 3. No cierre este
Figura 3: Explorador Web conectado al servidor Web
2. Haga
clic en el botón Actualizar del
explorador Web. No debe haber cambios en la pantalla del cliente Web.
3. Abra
un segundo explorador Web y conéctese al URL http://eagle-
server.example.com/page2.html.
En la pantalla aparece una página Web diferente.
No cierre ningún explorador hasta
que la captura de Wireshark se detenga.
Paso 3: Detener las capturas de Wireshark y analizar los datos
capturados.
1. Detenga
las capturas de Wireshark.
2. Cierre
los exploradores Web.
Se muestran los datos Wireshark
resultantes. En el paso 2, se crearon al menos tres sesiones HTTP.
La primera sesión HTTP comenzó con
una conexión a http://eagle-server.example.com. La
Figura 4: Sesión de
HTTP capturada
En la Figura 4 se muestra un ejemplo
de una sesión HTTP capturada. Antes de que la HTTP pueda comenzar, se debe
crear una sesión TCP. Esto se ve en las tres primeras líneas de sesión, números
10, 11 y 12. Utilice los resultados de captura de Wireshark o similares para
responder las siguientes preguntas:
3. Complete
la siguiente tabla con la información presentada en la sesión HTTP:
Dirección IP del explorador Web
|
192.168.254.29
|
Dirección IP del servidor Web
|
192.168.254.254
|
Protocolo de la capa de transporte (UDP/TCP)
|
TCP
|
Número de puerto del explorador Web
|
1051
|
Número de puerto del servidor Web
|
80
|
4. ¿Qué
computadora inició la sesión HTTP y cómo lo hizo?
Lo inició
el ordenador 10.99.85.249. Antes realiza una conexión de tres vías TCP y
después envía una demanda HTTP (GET)
5. ¿Qué
computadora señaló inicialmente un fin a la sesión HTTP y cómo lo hizo?
El
servidor Web 192.168.254.254 mediante una cohesión a tres vías
6. Resalte
la primera línea del protocolo HTTP, una solicitud GET (Obtener) del explorador Web. En la Figura 4 de arriba, la
solicitud GET está en la línea 13.
Vaya a la segunda ventana de Wireshark (la del medio) para examinar los
protocolos en capas. Si es necesario, expanda los campos.
7. ¿Qué
protocolo se lleva (encapsulado) dentro del segmento TCP?
HTTP
8.
Expanda el último registro de protocolo y
cualquier subcampo. Ésta es la información real enviada al servidor Web.
Complete la siguiente tabla utilizando la información del protocolo.
Versión del protocolo
|
http 1.1
|
Método de solicitud
|
GET
|
* Solicitud URI
|
/page2.html
|
Idioma
|
es\r\n
|
*
La solicitud URI es la ruta para el documento solicitado. En el primer
explorador, la ruta es el directorio raíz del servidor Web. Aunque no se
solicitó ninguna página, algunos servidores Web están configurados para mostrar
un archivo predeterminado, si está disponible.
El servidor Web responde con el
próximo paquete HTTP. En la Figura 4 se puede ver en la línea 15. Una respuesta
para el explorador Web es posible porque el servidor Web (1) comprende el tipo
de solicitud y (2) tiene que devolver un archivo. Los crackers a veces envían
solicitudes desconocidas o dañadas a servidores Web para intentar detener el
servidor o poder acceder a la línea de comando del servidor. Además, una
solicitud para una página Web desconocida da como resultado un mensaje de
error.
9. Resalte
la respuesta del servidor Web y luego vaya a la segunda ventana (la del medio).
Abra todos los subcampos de HTTP colapsados. Observe la información que
devuelve el servidor. En esta respuesta, sólo hay unas pocas líneas de texto
(las respuestas del servidor Web pueden contener miles o millones de bytes). El
explorador Web comprende los datos de la ventana del explorador y los formatea
correctamente. .
10. ¿Cuál
es la respuesta del servidor Web para la solicitud GET del cliente Web?
Envía el
ACK a 1 y un 200 ok con el HTML con la página que el cliente ha solicitado
11. ¿Qué significa esta
respuesta?
Que ha
encontrado la página y la enviado al cliente
12. Desplácese
hacia abajo de la ventana superior de Wireshark hasta que se muestre la segunda
sesión de HTTP, actualizada. La Figura 5 muestra una captura de muestra.
Figura 5: Sesión HTTP
capturada para actualizar
El significado de la acción de
actualización se encuentra en la respuesta del servidor, 304 Not
Modified (304 No modificado). Con un paquete simple devuelto para la
solicitud inicial de GET y para la
actualización, el ancho de banda utilizada es mínimo. Sin embargo, para una
respuesta inicial que contenga millones de bytes, un simple paquete de
respuesta puede generar un significativo ahorro de ancho de banda.
Debido a que esta página Web ha sido
guardada en la caché del cliente Web, la solicitud GET contenía las siguientes instrucciones adicionales para el
servidor Web.
If-modified-since:
Fri, 26 Jan 2007 06:19:33 GMT\r\n
If-None-Match
“98072-b8-82da8740”\r\n <- page tag number (ETAG)
13. ¿Cuál
es la respuesta ETAG del servidor Web?
if-None-Match:
"552a-b8-851e5cc0"\r\n
Tarea 3:
Captura y análisis de la comunicación FTP entre la computadora host del módulo
y un servidor Web.
El protocolo de la capa de aplicación
FTP ha recibido una revisión significativa desde que apareció por primera vez
en RFC 114, en 1971. La versión 5.1 de FTP se define en RFC 959, de octubre de
1985.
El explorador Web conocido no sólo
puede usarse para comunicarse con el servidor HTTP. En esta tarea, el
explorador Web y una utilidad de línea de comando FTP se utilizan para
descargar datos desde un servidor FTP.
Figura 6: Pantalla de
línea de comandos de Windows
Para prepararse
para esta tarea, abra una línea de comandos en la computadora host del módulo.
Esto puede lograrse haciendo clic en Inicio
> Ejecutar y luego escribiendo CMD
y haciendo clic en Aceptar.
Se muestra una pantalla similar a
la de la Figura 6.
Paso 1: Iniciar las capturas de Wireshark.
Si es necesario, consulte la Tarea
1, Paso 2, para abrir Wireshark.
Paso 2: Iniciar el cliente FTP de la línea de comandos host del módulo.
1. Inicie
una sesión FTP de una computadora host del módulo con el servidor FTP, usando
la utilidad del cliente FTP de Windows. Para autenticar, utilice la
identificación de usuario anonymous
(anónima). Como respuesta a la petición de contraseña, presione <Intro>.
> ftp
eagle-server.example.com
Conectado a
eagle-server.example.com.
220 Bienvenido al servicio FTP de
eagle-server. Usuario (eagle-server.example.com:(ninguno)): anonymous
331 Especifique la contraseña.
Contraseña: <INTRO> 230
Conexión exitosa.
2. El
indicador del cliente FTP es ftp>. Esto significa que el cliente FTP espera un
comando para enviar al servidor FTP. Para ver una lista de los comandos del
cliente FTP, escriba help
<INTRO> (ayuda, <aceptar>): ftp> help
Los comandos se pueden abreviar. Comandos:
! delete literal prompt
send
? debug
ls put status append dir
close lcd open rmdir
Desafortunadamente, la gran cantidad
de comandos del cliente FTP dificulta el uso de la utilidad de la línea de
comandos para un principiante. Sólo usaremos unos pocos comandos para la
evaluación de Wireshark.
3. Escriba
el comando dir para
mostrar los contenidos actuales del directorio:
ftp> dir
200 Comando
PORT command exitoso. Considere usar PASV.
150 Aquí aparece el listado de
directorio.
drwxr-xr-x 3 0
0 4096 Jan 12 04:32 pub
El cliente FTP es un directorio raíz
del servidor FTP. Éste no es el directorio raíz real del servidor; sólo el
punto más importante al que puede acceder el usuario anonymous. El usuario anonymous
ha sido ubicado en una root jail, prohibiendo el acceso fuera del directorio
actual.
4. Sin
embargo, los subdirectorios se pueden recorrer y los archivos se pueden
transferir a la computadora host del módulo. Vaya al directorio
pub/eagle_labs/eagle1/chapter2, descargue un archivo y salga.
ftp> cd
pub/eagle_labs/eagle1/chapter2
250 Se cambió exitosamente el
directorio.
ftp> dir
200 Comando
PORT command exitoso. Considere usar PASV.
150 Aquí aparece el listado de
directorio.
-rw-r--r-- 1 0 100
5853 Jan 12 04:26 ftptoeagle-server.pcap
-rw-r--r-- 1 0 100
4493 Jan 12 04:27 http to eagle-server.pcap
-rw-r--r-- 1 0 100
1486 Jan 12 04:27 ping to 192.168.254.254.pcap
-rw-r--r-- 1 0 100 15163750 Jan 12 04:30
wireshark-setup-0.99.4.exe 226 Se envió correctamente el directorio. ftp: 333
bytes received in 0.04Seconds 8.12Kbytes/sec.
ftp> get
"ftptoeagle-server.pcap"
200 Comando PORT command exitoso.
Considere usar PASV.
150 Abriendo la conexión de datos con el
modo BINARIO para ftptoeagleserver.pcap (5853 bytes).
226 Se envió correctamente el archivo.
ftp: 5853 bytes recibidos en 0.34 segundos 17.21 Kbytes/seg. ftp> quit
221 Adiós.
5. Cierre
la ventana de la línea de comandos con el comando exit (salir).
6. Detenga
las capturas de Wireshark y guárdelas como FTP_Command_Line_Client.
Paso 3: Iniciar el explorador Web del host del módulo.
1. Inicie
nuevamente las capturas Wireshark.
Figura 7. Explorador
Web utilizado como un cliente FTP
2. Abra
un explorador Web como lo muestra la Figura 7 y escriba el URL ftp://eagle-
server.example.com. Se
abre una ventana del explorador que muestra el directorio pub. Además, el
explorador Web se registró en el servidor FTP como usuario Anonymous, como se
muestra en la parte inferior de la captura de la pantalla.
3. Utilizando
el explorador, vaya por los directorios hasta la ruta URL pub/eaglelabs/eagle1/chapter2.
Haga doble clic en el archivo ftptoeagle-server.pcap y guarde
el archivo.
4. Al
finalizar, cierre el explorador Web.
5. Detenga
las capturas de Wireshark y guárdelas como FTP_Web_Browser_Client.
Paso 4: Detener las capturas de Wireshark y analizar los datos
capturados.
1. Si
aún no está abierta, abra la captura de Wireshark FTP_Web_Browser_Client.
2. En
la ventana superior de Wireshark, seleccione la captura FTP que es la primera
transmisión del protocolo FTP. Respuesta: 220. En la Figura 8, es la línea
número 23.
Figura 8: Captura de
Wireshark de una sesión FTP con un explorador Web
3. Vaya
a la ventana de Wireshark del medio y expanda el protocolo FTP. FTP se comunica
usando códigos, como HTTP.
¿Cuál es la respuesta 220 del
servidor FTP?
Verifica
que el usuario y contraseña son correctos
Cuando el servidor FTP emitió una
Respuesta: 331. Especifique la contraseña. ¿Cuál fue la respuesta del
explorador Web?
_Request
arg: IEUser@
¿Qué número de puerto utiliza el
cliente FTP para conectarse al puerto 21 del servidor FTP?
1078
Cuando se transfieren datos, o con
listados simples de directorios, se abre un nuevo puerto. Esto se llama modo de
transferencia. El modo de transferencia puede ser activo o pasivo. En modo
activo, el servidor abre una sesión TCP para el cliente FTP y transfiere datos
por ese puerto. El número de puerto de origen del servidor FTP es 20 y el
número de puerto del cliente FTP es un número mayor a 1023. Si embargo, en el
modo pasivo, el cliente abre un nuevo puerto para el servidor para la
transferencia de datos. Ambos números de puerto son mayores a 1023.
¿Cuál es el número de puerto de Datos
FTP utilizado por el servidor FTP?
20
4. Abra la captura de Wireshark
FTP_Web_Browser_Client y observe la comunicación FTP. Aunque los clientes sean
diferentes, los comandos son similares.
Paso 5: Modos de transferencia FTP activo y pasivo
Las implicaciones entre los dos modos
son muy importantes desde el punto de vista de seguridad de la información. El
modo de transferencia establece cómo se configura el puerto de datos.
En el modo de transferencia activo,
un cliente inicia una sesión FTP con el servidor del puerto TCP 21 bien
conocido. Para transferir datos, el servidor inicia una conexión desde el
puerto bien conocido TCP 20 para un puerto alto del cliente, un número de puerto
mayor a 1023. Vea la figura 9.
Figura 9.
A menos que el firewall del cliente
FTP esté configurado para permitir conexiones desde afuera, la transferencia de
datos puede fallar. Para establecer conectividad para la transferencia de
datos, el cliente FTP debe permitir las conexiones relacionadas al FTP (que
implican un filtrado de paquetes con estado) o deshabilitar el bloqueo.
En el modo de transferencia pasivo,
un cliente inicia una sesión FTP con el servidor del puerto 21 TCP bien
conocido, la misma conexión usada en el modo de transferencia activo. Sin
embargo, para transferir datos existen dos cambios importantes. Primero, el
cliente inicia la conexión de datos con el servidor. Segundo, los puertos altos
se utilizan en ambos extremos de la conexión. Vea la Figura 10.
Figura 10.
A menos que el servidor FTP esté
configurado para permitir una conexión a un puerto alto aleatorio, la
transferencia de datos fallará. No todas las aplicaciones del cliente FTP
admiten cambios para el modo de transferencia.
Tarea 4:
Reflexión
Los protocolos HTTP y FTP dependen de
TCP para comunicarse. TCP administra la conexión entre el cliente y el servidor
para asegurar la entrega de datagramas.
Una aplicación de cliente puede ser
un explorador Web o una utilidad de línea de comando, pero cada una debe enviar
y recibir mensajes que puedan ser interpretados en forma correcta. El protocolo
de comunicación se define normalmente en un RFC.
El cliente FTP debe autenticarse al
servidor FTP aunque la autenticación esté abierta al mundo. El usuario
Anonymous tiene, normalmente, acceso restringido al servidor FTP y no puede
cargar archivos.
Una sesión HTTP comienza cuando se
realiza una solicitud al servidor HTTP y finaliza cuando el cliente HTTP ha
acusado recibo. En cambio, una sesión FTP finaliza cuando el cliente indica que
la deja, utilizando el comando quit.
HTTP utiliza un protocolo simple para
comunicarse con el servidor HTTP. El servidor escucha en el puerto 80 para
conexiones de clientes. En cambio, FTP utiliza dos protocolos. El servidor FTP
escucha en el puerto 21 TCP, como la línea de comandos. Según el modo de
transferencia, el servidor o cliente puede iniciar la conexión de datos.
Se puede acceder a los protocolos de
capa de aplicación múltiple mediante un explorador Web simple.
A pesar de que sólo se examinaron
HTTP y FTP, el explorador también admite Telnet y Gopher.
El explorador actúa como un cliente
para el servidor, enviando solicitudes y procesando respuestas.
Tarea 5:
Desafío
Habilite la captura de Wireshark,
utilice un explorador Web para navegar a R2 en
http://172.16.255.254/level/7/exec o
utilice un cliente Telnet para conectarse a un dispositivo de Cisco, como
S1-Central o R2-Central. Observe el comportamiento de HTTP o protocolo Telnet.
Emita algunos comandos para observar resultados.
¿Cuál es la similitud de Telnet del
protocolo de la capa de aplicación con HTTP y FTP? ¿En qué difiere TELNET?
Las
respuestas variarán, pero Telnet es similar a HTTP y FTP en cuanto los tres
utilizan protocolos TCP para el envío de datagramas garantizado y orientado por
conexión
Tarea 6:
Limpieza
Si se instaló Wireshark en la
computadora host del módulo para esta práctica de laboratorio, el instructor
querrá que se elimine la aplicación. Para eliminar Wireshark, haga clic en Inicio > Panel de control > Agregar o
quitar programas. Vaya hacia abajo en la lista, haga clic con el botón
derecho del mouse en Wireshark y
haga clic en Quitar.
Si se deben eliminar los archivos
descargados desde la computadora host del módulo, elimine todos los archivos
recuperados desde el servidor FTP.
No hay comentarios:
Publicar un comentario