5.3.7 Práctica de laboratorio: Introducción a Wireshark

Última actualización: septiembre 16, 2022

5.3.7 Práctica de laboratorio: Introducción a Wireshark (versión para el instructor)

Topología Mininet

Objetivos

Parte 1: Instalar y verificar la topología de Mininet
Parte 2: Capturar y analizar datos de ICMP en Wireshark

Antecedentes / Escenario

La VM CyberOps incluye un script de Python que, cuando se lo ejecuta, instala y configura los dispositivos que se muestran en la figura de arriba. Entonces podrán acceder a cuatro hosts, a un switch y a un router que se encuentra dentro de sus VM únicas. Esto les permitirá simular diversos protocolos y servicios de red sin tener que configurar una red física de dispositivos. Por ejemplo: en esta práctica de laboratorio utilizarán el comando ping entre dos hosts en la topología de Mininet y capturarán esos pings con Wireshark.

Wireshark es un analizador de protocolos de software o una aplicación “husmeadora de paquetes” que se utiliza para solución de problemas de red, análisis, desarrollo de protocolos y software y educación. Mientras los flujos de datos transitan por la red, el husmeador “captura” cada unidad de datos del protocolo (Protocol Data Unit, PDU) y puede decodificar y analizar su contenido de acuerdo a la RFC correcta o a otras especificaciones.

Wireshark es una herramienta útil para cualquier persona que trabaje con redes y necesite capacidades de análisis de datos y solución de problemas. Utilizarán Wireshark para capturar paquetes de datos ICMP.

Recursos necesarios
  • VM CyberOps
  • Acceso a Internet

Parte 1: Instalar y verificar la topología de Mininet

En esta parte utilizarán un script de Python para configurar la topología de Mininet dentro de la VM CyberOps. Luego, registrarán las direcciones IP y MAC correspondientes a H1 y a H2.

Paso 1: Verificar las direcciones de las interfaces de sus PC

Inicien sus VM CyberOps Workstation que han instalado en una práctica anterior e inicien sesión con las siguientes credenciales:
Nombre de usuario: analyst Contraseña: cyberops

Paso 2: Ejecutar el script de Python para instalar la topología de Mininet

Abran un emulador de terminales para iniciar Mininet e introduzcan el siguiente comando. Cuando el sistema se lo solicite, introduzca cyberops como la contraseña.

[analyst@secOps ~]$ sudo ~/lab.support.files/scripts/cyberops_topo.py
[sudo] contraseña para analyst:

Paso 3: Registrar las direcciones IP y MAC correspondientes a H1 y a H2.

a. En el cursor de mininet, inicien ventanas del terminal en los hosts H1 y H2. Se abrirán ventanas aparte para estos hosts. Cada host tendrá su configuración independiente para la red, incluidas direcciones IP y MAC únicas.

*** Starting CLI:
mininet> xterm H1
mininet> xterm H2

b. En el cursor de Node: H1, introduzcan ifconfig para verificar la dirección IPv4 y registrar la dirección MAC. Hagan lo mismo en Node: H2. Tanto la dirección IPv4 como la MAC están resaltadas a continuación a modo de referencia.

[root@secOps analyst]# ifconfig
H1-eth1: flags=4163 mtu 1500
inet 10.0.0.11 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::2c69:4dff:febb:a219 prefixlen 64 scopeid 0x20 ether 26:3a:45:65:75:23 txqueuelen 1000 (Ethernet)
TX packets 152 bytes 13036 (12.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 107 bytes 9658 (9.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Parte 2: Captura y análisis de datos de ICMP en Wireshark

En esta parte harán pings entre dos hosts en la Mninet y capturarán solicitudes y respuestas ICMP en Wireshark. También verán el contenido de las PDU capturadas para obtener información específica. Este análisis debería ser útil para aclarar de qué manera se utilizan los encabezados de paquetes para transportar datos al destino.

Paso 1: Examinar los datos capturados en la misma red LAN

En este paso examinarán los datos que se generaron mediante las solicitudes de ping de la PC del miembro de su equipo. Los datos de Wireshark se muestran en tres secciones: 1) la sección superior muestra la lista de tramas de PDU capturadas con un resumen de la información de paquetes IP enumerada, 2) la sección media indica información de la PDU para la trama seleccionada en la parte superior de la pantalla y separa una trama de PDU capturada por las capas de protocolo, y 3) la sección inferior muestra los datos sin procesar de cada capa. Los datos sin procesar se muestran en formatos hexadecimal y decimal.

a. En Node: H1, introduzcan wireshark-gtk & para iniciar Wireshark (la advertencia emergente no es importante en esta práctica). Hagan clic en Aceptar para continuar.

[root@secOps]# wireshark-gtk &
[1] 1552
[root@secOps ~]#
** (wireshark-gtk:1552): WARNING **: Couldn't connect to accessibility bus:
Failed to connect to socket /tmp/dbus-f0dFz9baYA: Connection refused
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

b. En la ventana de Wireshark, en el encabezado Capture (Capturar), seleccionen la interfaz H1-eth0. Hagan clic en Start (Comenzar) para capturar el tráfico de datos.

c. En Node: H1, presionen la tecla Intro (si es necesario) para ver un cursor. Luego, escriban ping -c 5 10.0.0.12 para hacer ping a H2 cinco veces. La opción de comando -c especifica la cantidad o el número de pings. El 5 especifica que se deben enviar cinco pings. Todos los pings se realizarán correctamente.

[root@secOps analyst]# ping -c 5 10.0.0.12

d. Diríjanse a la ventana de Wireshark y hagan clic en Stop (Detener) para detener la captura de paquetes.

e. Se puede aplicar un filtro para mostrar solamente el tráfico de interés.
Escriba icmp en el campo Filtro y haga clic en Aplicar.

f. Si es necesario, hagan clic en las primeras tramas de PDU de la solicitud ICMP en la sección superior de Wireshark. Observen que la columna Source (Origen) tiene la dirección IP de H1, y que la columna Destination (Destino) tiene la dirección IP de H2.

g. Con esta trama de PDU aún seleccionada en la sección superior, navegue hasta la sección media. Haga clic en la flecha que se encuentra a la izquierda de la fila Ethernet II para ver las direcciones MAC de origen y de destino.

¿La dirección MAC de origen coincide con la interfaz de H1? Si coincide con la direccion MAC
¿La dirección MAC de destino en Wireshark coincide con la dirección MAC de H2? Si coincide con la

Nota: En el ejemplo anterior de una solicitud de ICMP capturada, los datos ICMP se encapsulan dentro de una PDU del paquete IPv4 (encabezado de IPv4), que luego se encapsula en una PDU de trama de Ethernet II (encabezado de Ethernet II) para la transmisión en la LAN.

Paso 2: Examinar los datos capturados en la red LAN remota

Harán pings a hosts remotos (hosts que no están en la LAN) y examinarán los datos generados a partir de esos pings. Luego, determinarán las diferencias entre estos datos y los datos examinados en la parte 1.

a. En el cursor de mininet, inicien ventanas del terminal en los hosts H4 y R1.

mininet> xterm H4
mininet> xterm R1

b. En el cursor de Node: H4, introduzcan ifconfig para verificar la dirección IPv4 y registrar la
dirección MAC. Hagan lo mismo en Node: R1.

[root@secOps analyst]# ifconfig

c. Inicien una captura de Wireshark nueva en H1; para ello, seleccionen Capture > Start (Captura > Comenzar). También pueden hacer clic en el botón Start o presionar Ctrl-E. Hagan clic en Continue without Saving (Continuar sin guardar) para iniciar una captura nueva.

d. H4 es un servidor remoto simulado. Hagan ping a H4 desde H1. El ping debería realizarse correctamente.

[root@secOps analyst]# ping -c 5 172.16.0.40

e. Revisen los datos capturados en Wireshark. Examinen las direcciones IP y MAC a las que hicieron ping.
Observen que la dirección MAC corresponde a la interfaz R1-eth1. Generen una lista con las direcciones IP y MAC de destino.
IP: 172.16.0.40
MAC: 16:dc:43:36:74:e0

f. En la ventana principal de la VM CyberOps, introduzcan quit para detener Mininet.
mininet> quit

*** Stopping 0 controllers
*** Stopping 4 terms
*** Stopping 5 links
.....
*** Stopping 1 switches
s1
*** Stopping 5 hosts
H1 H2 H3 H4 R1
*** Done

g. Para borrar todos los procesos que utilizó Mininet, introduzcan el comando sudo mn -c en el cursor.

analyst@secOps ~]$ sudo mn -c
[sudo] contraseña para analyst:
*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_core lt-nox_core ovs-openflowd ovscontroller udpbwtest mnexec ivs 2> /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_core lt-nox_core ovs-openflowd
ovs-controller udpbwtest mnexec ivs 2> /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
*** Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
¿Tienes otra pregunta? Por favor comentax