Análisis de red con Wireshark

WiresharkBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderás técnicas de análisis de red utilizando Wireshark, el analizador de protocolos de red estándar de la industria. Esta potente herramienta te permite examinar el tráfico de red a nivel de paquete, proporcionando información valiosa para la resolución de problemas y el análisis de seguridad.

Adquirirás habilidades prácticas en la captura, filtrado e interpretación de paquetes de red. A través de ejercicios prácticos, comprenderás cómo se comunican los diferentes protocolos e identificarás posibles problemas de red.

Instalación de Wireshark

En este paso, instalaremos Wireshark en nuestro sistema Ubuntu. Wireshark es un analizador de protocolos de red que te permite capturar y explorar el tráfico de red de forma interactiva. Está disponible en los repositorios predeterminados de Ubuntu, lo que hace que el proceso de instalación sea sencillo para principiantes.

  1. Primero, abramos la terminal. En tu escritorio, localiza y abre la Terminal Xfce. La terminal es donde ejecutaremos todos nuestros comandos para instalar y configurar Wireshark.

Abrir la ventana de la Terminal Xfce

Nota: Los usuarios gratuitos no pueden conectarse a Internet, por lo que Wireshark ya está preinstalado en el entorno del laboratorio. Puedes saltar al punto 5 de la lista (verificar si Wireshark está instalado). Actualiza a usuario pro para practicar la instalación de Wireshark por tu cuenta.

Solo para usuarios Pro
  1. Antes de instalar cualquier software, es una buena práctica actualizar las listas de paquetes. Esto asegura que instalemos la última versión disponible de Wireshark. Ejecuta el siguiente comando:
sudo apt update
  1. Ahora instalaremos Wireshark. El indicador -y responde automáticamente "sí" a cualquier solicitud durante la instalación, lo que hace que el proceso sea más fluido:
sudo apt install wireshark -y
  1. Durante la instalación, encontrarás una solicitud de seguridad importante sobre permitir que usuarios que no sean superusuarios capturen paquetes. Esta es una opción de configuración clave: seleccionar "Yes" significa que no necesitarás privilegios de root para ejecutar Wireshark, lo cual es más seguro para el uso diario. Usa las teclas de flecha para seleccionar "Yes" y presiona Enter.

Solicitud de instalación de Wireshark

  1. Una vez completada la instalación, verifiquemos que Wireshark se haya instalado correctamente. La comprobación de la versión confirma que la instalación fue exitosa y muestra qué versión estás ejecutando:
wireshark --version
  1. Para capturar tráfico de red, necesitamos configurar los permisos adecuados. Esto implica añadir tu usuario al grupo wireshark y configurar Dumpcap (la herramienta de captura de paquetes de Wireshark) con los permisos correctos:

Primero, verifica si el grupo wireshark existe (debería haberse creado durante la instalación):

getent group wireshark

Si por alguna razón el grupo no existe, créalo con:

sudo groupadd wireshark

Estos comandos configuran Dumpcap para que se ejecute con privilegios elevados mientras se mantiene Wireshark ejecutándose como un usuario normal, una mejor práctica de seguridad:

sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
sudo gpasswd -a $USER wireshark

Después de ejecutar estos comandos, deberás cerrar sesión y volver a iniciarla para que los cambios de grupo surtan efecto. ¡Ahora has instalado y configurado Wireshark con éxito y estás listo para comenzar a analizar el tráfico de red!

Captura de tráfico de red

Ahora que tenemos Wireshark instalado, capturemos algo de tráfico de red. Piensa en esto como configurar un micrófono para grabar todas las conversaciones que ocurren en tu red. Cada vez que tu computadora envía o recibe datos en línea, estos se dividen en pequeñas piezas llamadas paquetes. Wireshark nos permite ver y analizar estos paquetes.

  1. Abre Wireshark escribiendo wireshark en la terminal y presionando Enter. Esto inicia la interfaz gráfica donde realizaremos nuestra captura de paquetes.

  2. Cuando se abra Wireshark, verás una lista de interfaces de red (las conexiones que usa tu computadora para hablar con las redes). Busca una interfaz llamada "eth0" o "eth1"; estas suelen ser tus conexiones Ethernet cableadas. Si estás usando WiFi, es posible que veas "wlan0" en su lugar.

Selección de interfaz de Wireshark

  1. Haz doble clic en la interfaz activa (la que muestra que el conteo de paquetes aumenta) para comenzar a capturar. La ventana principal mostrará ahora un flujo de paquetes en vivo; cada línea representa una conversación de red diferente que ocurre en este momento.

Ventana de captura de paquetes de Wireshark

  1. Generemos algo de actividad de red simple para capturar. Abre una nueva ventana de terminal e ingresa:

    curl http://example.com
    

    Este comando obtiene la página de inicio de example.com, generando paquetes HTTP (tráfico web) que Wireshark puede capturar. Verás aparecer nuevos paquetes en Wireshark inmediatamente después de ejecutar esto.

  2. Después de ver varios paquetes (unos 5-10 segundos son suficientes), haz clic en el botón rojo "Stop" en la parte superior. Esto congela la captura para que podamos examinar los paquetes sin que lleguen otros nuevos constantemente.

  3. ¡Felicidades! Has capturado tu primer tráfico de red. Cada línea representa un paquete con detalles como direcciones de origen/destino, tipo de protocolo y tiempo. Los tres paneles principales muestran: la lista de paquetes (resumen), los detalles del paquete (desglose técnico) y los datos brutos del paquete (vista hexadecimal).

  4. Para guardar tu trabajo, ve a File > Save y nombra el archivo myfirstcapture.pcapng en /home/labex. El formato .pcapng conserva todos los detalles de los paquetes para un análisis futuro.

Guardar archivo de captura de red

Este proceso básico de captura es la base del análisis de red. En los próximos pasos, aprenderemos cómo filtrar e interpretar estos paquetes para comprender el comportamiento de la red y solucionar problemas.

Análisis de datos de paquetes

Ahora que hemos capturado algo de tráfico de red, examinémoslo paso a paso. Piensa en esto como leer una conversación digital: aprenderemos a interpretar el "lenguaje" que usan las computadoras para comunicarse.

  1. Abrir el archivo de captura:
    Inicia Wireshark y abre tu archivo de captura guardado (myfirstcapture.pcapng) ya sea a través de File > Open o haciendo doble clic en el archivo. Este archivo contiene todo el tráfico de red que grabamos anteriormente, similar a una grabación de llamadas telefónicas.

  2. Comprender la lista de paquetes:
    El panel superior muestra todos los paquetes capturados en orden cronológico. Cada línea representa un mensaje de red, mostrando:

    • Quién lo envió (IP de origen)
    • Quién lo recibió (IP de destino)
    • Qué tipo de comunicación fue (Protocolo)
    • Un breve resumen (Info)
  3. Examinar los detalles del paquete:
    Cuando haces clic en cualquier paquete, el panel central revela su estructura interna a través de capas de protocolo:

    • Frame: Detalles físicos de la red
    • Ethernet: Direccionamiento de hardware
    • IP: Información de enrutamiento de Internet
    • TCP/UDP: Detalles de transporte
    • Datos de aplicación (como HTTP)
  4. Filtrar tráfico HTTP:
    En la barra de filtros (arriba), escribe http y presiona Enter. Esto aísla el tráfico web, tal como buscar solo mensajes de texto en un registro telefónico. HTTP es el protocolo que usan los navegadores web para comunicarse con los servidores.

Filtro de paquetes HTTP de Wireshark

  1. Identificar solicitudes web:
    Busca paquetes con "GET" en la columna Info. Estos representan a tu navegador solicitando páginas web. Haz clic en uno para ver:
    • La URL exacta solicitada
    • A qué sitio web se contactó
    • Detalles técnicos sobre la solicitud

Detalles del paquete HTTP GET

  1. Analizar encabezados HTTP:
    Expande la sección "Hypertext Transfer Protocol" para ver:

    • Método de solicitud (GET/POST)
    • Recurso solicitado (/index.html)
    • Información del navegador
    • Cookies y otros metadatos
  2. Encontrar respuestas del servidor:
    Busca paquetes "HTTP/1.1 200 OK". Estos muestran entregas exitosas de páginas web. Observa:

    • Códigos de respuesta (200=éxito, 404=no encontrado)
    • Tipo de servidor (Apache/Nginx)
    • Tipo de contenido (HTML, imágenes, etc.)

Paquete de respuesta exitosa del servidor HTTP

  1. Ver contenido web:
    En las respuestas exitosas, verifica la sección "Line-based text data" para ver el contenido real de la página web. Esto muestra el código HTML que el servidor envió a tu navegador.

Este análisis revela las conversaciones ocultas que ocurren a través de las redes. Al comprender estos patrones, puedes solucionar problemas, identificar actividades sospechosas y comprender cómo se comunican las aplicaciones.

Uso de filtros

El verdadero poder de Wireshark proviene de su capacidad para filtrar y analizar grandes cantidades de datos de red rápidamente. En este paso, aprenderemos a usar filtros para centrarnos en tipos específicos de tráfico. Piensa en los filtros como términos de búsqueda que te ayudan a encontrar exactamente lo que buscas en un mar de paquetes de red.

  1. Con tu archivo de captura abierto en Wireshark, comencemos usando algunos filtros de visualización simples. La barra de filtros se encuentra justo debajo de la barra de herramientas principal:

    • Para mostrar solo tráfico TCP (el protocolo de transporte más común), escribe tcp en la barra de filtros y presiona Enter. Esto ocultará todos los paquetes que no sean TCP de la vista.
    • Para mostrar tráfico hacia o desde una dirección IP específica, escribe ip.addr == x.x.x.x, reemplazando x.x.x.x con una dirección de tu captura o de una búsqueda DNS. Para la dirección actual de example.com, ejecuta dig example.com +short en la Terminal y usa una de las IPs que imprime. El valor 93.184.215.14 es solo un marcador de posición en este texto de laboratorio; las direcciones reales cambian con el tiempo. El signo igual doble (==) significa "coincide exactamente".

    Ejemplo de filtro TCP de Wireshark

    • Para mostrar todas las solicitudes HTTP GET (el tipo más común de solicitud web), escribe http.request.method == "GET". Esto te ayuda a ver qué páginas web se están solicitando.
  2. Ahora creemos un filtro más complejo combinando condiciones. Buscaremos todas las solicitudes HTTP GET que van específicamente a example.com:

    • En la barra de filtros, ingresa: http.request.method == "GET" && http.host contains "example.com"
    • El && significa "Y", por lo que ambas condiciones deben ser verdaderas.
    • El operador contains nos permite hacer coincidir cualquier dominio que contenga "example.com".

    Filtro HTTP GET de Wireshark

    • Este filtro muestra todas las solicitudes GET a cualquier dominio que contenga "example.com", lo cual es útil para monitorear el tráfico a sitios web específicos.
  3. Dado que probablemente usarás ciertos filtros repetidamente, Wireshark te permite guardarlos. Guardemos nuestro filtro HTTP GET:

    • Haz clic en el signo más ("+") junto a la barra de filtros. Esto abre la ventana de gestión de filtros.
    • Nombra el filtro "HTTP GETs" y haz clic en Save. Elige un nombre descriptivo que recuerdes.
    • Ahora puedes aplicar este filtro rápidamente en cualquier momento seleccionándolo de la lista de filtros guardados (el icono de marcador junto a la barra de filtros).
  4. Finalmente, exportemos algunos de nuestros hallazgos para documentación o análisis posterior:

    • Ve a Statistics > HTTP > Requests para ver un resumen de todas las solicitudes HTTP.
    • Haz clic en "Save as" para exportar la lista a un archivo.
    • Elige /home/labex como ubicación y guarda el archivo como http_requests.txt.

    Exportar lista de solicitudes HTTP

Usar filtros de esta manera te permite examinar rápidamente grandes cantidades de datos de red y concentrarte en lo que es importante. Es como tener una lupa superpotente que puede mostrarte instantáneamente tipos específicos de tráfico de red. Dominar los filtros te ahorrará horas al solucionar problemas de red o analizar eventos de seguridad.

Resumen

En este laboratorio, has aprendido los fundamentos del análisis de red utilizando Wireshark. Has dominado habilidades esenciales, incluyendo la instalación de Wireshark, la captura de tráfico de red, el análisis de datos de paquetes y la aplicación de filtros para aislar tipos de tráfico específicos.

Estas competencias básicas proporcionan una base sólida para la ciberseguridad y la administración de redes. Wireshark sirve como una herramienta poderosa para solucionar problemas de redes, monitorear patrones de tráfico e identificar posibles amenazas de seguridad. Continúa practicando para desarrollar aún más tu experiencia en análisis de red.