Última actualización: octubre 16, 2022
4.6.2.7 Práctica de laboratorio: Usar Wireshark para examinar una captura de UDP y DNS (versión para el instructor)
Nota para el instructor: Los elementos con color de fuente rojo o resaltados en gris indican texto que aparece solo en la copia del instructor.
Topología
Objetivos
Parte 1: Registrar la información de configuración de IP de una PC
Parte 2: Utilizar Wireshark para capturar consultas y respuestas DNS
Parte 3: Analizar los paquetes capturados de DNS o UDP
Aspectos básicos/situación
Cuando utilizan Internet, emplean el Sistema de Nombres de Dominio (Domain Name System, DNS). DNS es una red distribuida de servidores que traduce nombres de dominio descriptivos como www.google.com a una dirección IP. Cuando se escribe la URL de un sitio web en el navegador, la PC realiza una consulta de DNS a la dirección IP del servidor DNS. La consulta del servidor DNS de sus PC y la respuesta del servidor DNS utilizan el Protocolo de Datagramas de Usuario (User Datagram Protocol, UDP) como protocolo de capa de transporte. A diferencia de TCP, UDP funciona sin conexión y no requiere una configuración de sesión. Las consultas y respuestas de DNS son muy pequeñas y no requieren la sobrecarga de TCP.
En esta práctica de laboratorio, establecerá comunicación con un servidor DNS enviando una consulta de DNS mediante el protocolo de transporte UDP. Utilizará Wireshark para examinar los intercambios de consulta y respuesta de DNS con el mismo servidor.
Nota para el instructor: El uso de un analizador de protocolos de paquetes como Wireshark se puede considerar una infracción de la política de seguridad del lugar de estudios. Se recomienda obtener autorización antes de usar Wireshark para esta práctica de laboratorio. Si el uso de un programa detector de paquetes resulta ser un problema, el instructor puede asignar la práctica de laboratorio como tarea para el hogar o hacer una demostración.
Recursos necesarios
- Máquina virtual CyberOps Workstation
- Acceso a Internet
Parte 1: Registrar la información sobre la configuración IP de la VM
En la Parte 1, utilizarán los comandos de sus VM CyberOps Workstation para encontrar y registrara las direcciones IP y MAC de las tarjetas de interfaz de red (Network Interface Cards, NIC) virtuales de sus VM, la dirección IP del gateway predeterminado especificado y la dirección IP del servidor DNS especificado para la PC. Registre esta información en la tabla proporcionada. La información se utilizará en partes de este laboratorio con el análisis de paquetes.
Dirección IP | Las respuestas varían. 192.168.1.11 |
Dirección MAC | Las respuestas variarán. 08:00:27:C9:FA:A1 |
Dirección IP del gateway predeterminado | Las respuestas varían. 192.168.1.1 |
Dirección IP del servidor DNS | Las respuestas varían. 192.168.1.1 |
a. Abran un terminal en la VM. Escriban ifconfig en el cursor para mostrar la información de la interfaz.
[analyst@secOps ~]$ ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.19 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::997f:9b16:5aae:1868 prefixlen 64 scopeid 0x20<link> ether 08:00:27:c9:fa:a1 txqueuelen 1000 (Ethernet) TX packets 1381 bytes 87320 (85.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 24 bytes 1857 (1.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 19 base 0xd000 <some output omitted>
b. En el cursor del terminal escriban cat /etc/resolv.conf para determinar el servidor DNS.
[analyst@secOps ~]$ cat /etc/resolv.conf # Generated by resolvconf nameserver 192.168.1.1
c. En el cursor del terminal escriban netstat -r para mostrar la tabla de routing IP a la dirección IP del gateway predeterminado.
[analyst@secOps ~]$ netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 enp0s3 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
Nota: La dirección IP del DNS y la del gateway predeterminado a menudo son la misma, especialmente en redes pequeñas. Sin embargo, en la red de una empresa o de una escuela, las direcciones muy probablemente sean diferentes.
Parte 2: Utilizar Wireshark para capturar consultas y respuestas DNS
En la Parte 2 configurarán Wireshark para capturar paquetes de consultas y respuestas DNS. Con esto se demostrará el uso del protocolo de transporte UDP al comunicarse con un servidor DNS.
a. En la ventana del terminal, inicien Wireshark y hagan clic en OK (Aceptar) cuando el sistema se los solicite.
[analyst@secOps ~]$ sudo wireshark-gtk [sudo] contraseña para analyst: ** (wireshark-gtk:950): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-REDRWOHelr: Connection refused Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
b. En la ventana de Wireshark, seleccionen enp0s3 en la lista de interfaces y hagan clic en Start (Comenzar).
c. Después de seleccionar la interfaz que deseen, hagan clic en Start (Comenzar) para capturar los paquetes.
d. Abran un navegador web y escriban google.com. Presionen Entrar para continuar.
e. Haga clic en Stop (Detener) para detener la captura de Wireshark cuando vea la página de inicio de Google.
Parte 3: Analizar los paquetes capturados de DNS o UDP
En la parte 3, examinará los paquetes de UDP que se generaron al comunicarse con un servidor DNS para las direcciones IP de www.google.com.
Paso 1: Filtrar los paquetes de DNS
a. En la ventana principal de Wireshark, escriban dns en el campo Filter (Filtro). Hagan clic en Apply (Aplicar).
Nota: Si no ven ningún resultado después de aplicar el filtro DNS, cierren el navegador web. En la ventana del terminal escriban www.google.com como alternativa al navegador web.
b. En el panel de la lista de paquetes (sección superior) de la ventana principal, ubiquen el paquete que incluye Standard Query (Consulta estándar) y A www.google.com”. Consulten la trama 22 de arriba como ejemplo.
Paso 2: Examinar los campos presentes en un paquete de consulta DNS
Los protocolos de protocolo, resaltados en color gris, se muestran en el panel de detalles del paquete (sección media) de la ventana principal.
a. En la primera línea del panel de detalles del paquete, la trama 22 tenía 74 bytes de datos de conexión. Esta es la cantidad de bytes que se necesitó para enviar una consulta DNS a un servidor con nombre que está solicitando las direcciones IP de www.google.com. Si utilizaron otra dirección web, como www.cisco.com, la cantidad de bytes podría ser diferente.
b. La línea Ethernet II muestra las direcciones MAC de origen y destino. La dirección MAC de origen proviene de sus PC locales porque sus PC originaron la consulta DNS. La dirección MAC de destino proviene del gateway predeterminado porque esta es la última parada antes de que esta consulta salga de la red local.
¿Es la dirección MAC de origen la misma que la registrada en la Parte 1 para la VM?
La respuesta debería ser sí.
c. En la línea Internet Protocol Version 4, la captura de Wireshark del paquete IP indica que la dirección IP de origen de esta consulta DNS es 192.168.1.19 y que la dirección IP de destino es 192.168.1.1. En este ejemplo, la dirección de destino es el gateway predeterminado. El router es el gateway predeterminado en esta red.
¿Puede identificar las direcciones IP y MAC para los dispositivos de origen y de destino?
Dispositivo | Dirección IP | Dirección MAC |
---|---|---|
VM | Las respuestas variarán. 192.168.1.19 | Las respuestas variarán. 08:00:27:C9:FA:A1 |
Gateway predeterminado | Las respuestas varían. 192.168.1.1 | Las respuestas varían. 80:37:73:EA:B1:7A |
El paquete IP y el encabezado encapsulan el segmento de UDP. El segmento de UDP contiene la consulta de DNS como datos.
d. Hagan clic en la flecha contigua a User Datagram Protocol para ver los detalles. Un encabezado de UDP solo tiene cuatro campos: puerto de origen, puerto de destino, longitud y checksum. Cada campo de un encabezado de UDP tiene solo 16 bits, como se muestra a continuación.
e. Hagan clic en la flecha contigua a User Datagram Protocol para ver los detalles. Observen que solo hay cuatro campos. El número del puerto de origen en este ejemplo es 39964. La VM generó de manera aleatoria el puerto de origen utilizando números de puerto que no están reservados. El puerto de destino es 53. El puerto 53 es un puerto conocido reservado para el uso con DNS. Los servidores DNS esperan en el puerto 53 las consultas de DNS de los clientes.
En este ejemplo, la longitud del segmento de UDP es de 40 bytes. La longitud del segmento UDP de sus ejemplos puede ser diferente. De los 40 bytes, 8 bytes se utilizan como encabezado. Los datos de la consulta de DNS utilizan los otros 32 bytes. Los 32 bytes de los datos de consulta DNS están en la siguiente ilustración en el panel de bytes del paquete (sección inferior) de la ventana principal de Wireshark.
La checksum se utiliza para determinar la integridad del encabezado UDP después de haber atravesado Internet.
El encabezado de UDP tiene poca sobrecarga porque UDP no tiene campos que estén asociados con la negociación en tres pasos en TCP. Cualquier problema de confiabilidad de la transferencia de datos que ocurra debe ser manejado por la capa de aplicaciones.
Registre sus resultados de Wireshark en la tabla siguiente:
Tamaño de la trama | |
Dirección MAC de origen | |
Dirección MAC de destino | |
Dirección IP de origen | |
Dirección IP de destino | |
Puerto de origen | |
Puerto de destino |
¿Es la dirección IP de origen la misma que la dirección IP de la PC local que registró en la parte 1?
Sí
¿Es la dirección IP de destino la misma que el gateway predeterminado que observó en la parte 1?
Sí, si el gateway predeterminado también realiza operaciones de DNS.
Paso 3: Examinar los campos en un paquete de respuesta DNS
En este paso, examinarán el paquete de respuesta DNS y comprobarán que también utiliza UDP.
a. En este ejemplo, la trama 24 es el paquete de respuesta DNS correspondiente. Observen que la cantidad de bytes en la conexión es 90. Es un paquete más grande en comparación con el paquete de consulta de DNS. Esto se debe a que el paquete de respuesta DNS incluirá información variada sobre el dominio.
b. En la trama Ethernet II para la respuesta de DNS, ¿qué dispositivo es la dirección MAC de origen y qué dispositivo es la dirección MAC de destino?
La dirección MAC de origen es el gateway predeterminado y la dirección MAC de destino es la máquina virtual.
c. Observe las direcciones IP de origen y destino en este paquete IP. ¿Cuál es la dirección IP de destino? ¿Cuál es la dirección IP de origen?
Dirección IP de destino: ______________________
Dirección IP de origen: _______________________
Las respuestas varían. En este ejemplo, el destino es 192.168.1.19 y el origen es 192.168.1.1.
¿Qué sucedió con los roles de origen y destino correspondientes a la VM y al gateway predeterminado?
La máquina virtual y el gateway predeterminado invirtieron sus roles en los paquetes de consulta y respuesta de DNS.
d. En el segmento UDP, el rol de los números de puerto también se invirtió. El número del puerto de destino es 39964. El número de puerto 39964 es el mismo puerto que generó la VM cuando se envió la consulta DNS al servidor DNS. La VM espera una respuesta DNS en este puerto.
El número del puerto de origen es 53. El servidor DNS espera una consulta de DNS en el puerto 53 y luego envía una respuesta de DNS con un número de puerto de origen de 53 al originador de la consulta de DNS.
Al expandirse la respuesta de DNS, observe las direcciones IP resueltas para www.google.com en la sección Answers (Respuestas).
Reflexión
¿Cuáles son los beneficios de utilizar UDP en lugar de TCP como protocolo de transporte para DNS?
UDP como protocolo de transporte ofrece establecimiento rápido de sesión, respuesta rápida, sobrecarga mínima, reensamblado de segmentos y reconocimiento de los paquetes recibidos, y no hay necesidad de reintentos.