7. Herramientas de Análisis de Tráfico

7.1. ¿De qué va este tema?

Incorporar un analizador de Tráfico (Wireshark) para entender cómo es el tráfico de red y ser capaces de hacer un análisis básico del tráfico.

Es una herramienta muy útil para entender cómo funcionan las capas y los protocolos.

7.2. Clases

Se le dedican unas 8 sesiones de trabajo.

7.2.1. Analizador de Tráfico (Paquetes y protocolos)

  1. ¿ Qué son y para qué sirven? (Sniffer)

    1. Analizan datos (en tiempo real o capturado en un archivo)

    2. Ofrecen un interfaz gráfico (no todos) para extraer o consultar información

    3. Tienen muchos usos en administración de redes (diagnóstico, rendimiento, seguridad, etc)

    4. Hay varias alternativas : tcpdump, ngrep, snort (en modo sniffer), etc

  2. Escuchan en modo promiscuo (todos los paquetes) y con permisos de administración (root).

  3. Usaremos Wireshark (antes Ethereal)

    1. Captura (estilo tcpdump) y añade interfaz gráfico

    2. Es multiplataforma y de código abierto

    3. Tiene un sistema de filtrado muy potente

    4. Tiene un gran soporte para diferentes protocolos

    5. Se usa en diferentes ámbitos (académico y profesional)

  4. Uso: capturas paquetes y/o analizas

    1. Entrada: Interfaces de Red de Captura (en modo promiscuo)

    2. Salida. Tiempo real o Archivo

    3. Opciones de captura (muchísimas): número de paquetes, tiempo, etc

    4. Controlas la captura: Arrancar / Parar

Actividad. Empezando con Wireshark

  1. Instalar Wireshark (depende de tu SO) o comprueba instalación en clase

  2. Comprueba si tienes permiso de administración (ideal en casa)

  3. Empezando con Wireshark:

    1. Carga este archivo ( captura_estudio.pcapng) y explora la interfaz

    2. Haz una captura (sólo si tienes permisos)

      1. Selecciona una interfaz y realizar una captura

      2. Guardar la captura en un archivo

7.2.2. Uso Básico de Wireshark

  1. La interfaz muestra una relación consecutiva de tramas: orden, tiempo, origen, destino, protocolo, longitud, info

  2. Tu objetivo puede ser un conjunto de tramas (conexión completa) o una trama concreta

  3. En cada paquete/trama puedes ver:

    1. Protocolos (capas)

    2. Campos (detalles del protocolo)

    3. Datos HEX (en crudo)

  4. Tienes una herramienta de consulta y filtrado

  5. Y puedes hacer cosas mucho más avanzadas (lo iremos viendo):

    1. Filtros más avanzados

    2. Estadísticas

    3. Análisis de protocolos

    4. Seguimiento de conexiones

    5. Capturas personalizadas

Actividad. Uso de Wireshark (Básico)

Uso de Wireshark (Básico)

7.2.3. Wireshark CheatSheet

  1. Revisamos esta Chuleta Wireshark (en inglés, pero muy completa) y los ejercicios básicos

  2. Tipos de Captura: monitor y promiscuo

    1. Organizado en tramas consecutivas

    2. Puedes filtrar y ver sólo algunas

  3. Filtros:

    1. Tipos: captura y consulta

    2. Sintaxis: tcp src 192.168.1.1 80 and tcp dst 202.164.30.1 (protocolos, operadores y valores)

    3. Ejemplos:

      eth.addr == 00:70:f4:23:18:c4
      ip.dest == 192.168.1.1
      ip.addr == 192.168.1.1/24
      tcp.dstport == 25
      http.host == “host name”
      tcp.flags.syn == 1 and tcp.flags.ack == 0
      !(ip.addr == 192.168.1.1
      

Actividad. Completar 25 Tareas con Wireshark

Uso de Wireshark (Básico)

7.2.4. Seguir Aprendiendo

  1. La mejor forma es revisar la guía de usuario (en inglés). Algunos ejemplos:

    1. Entender la barra de estado

    2. Menú de captura

    3. La herramienta de filtrado

    4. Marcar paquetes

    5. Ver estos filtros avanzados

    6. … etc, etc (muy, muy amplio)

  2. El aprendizaje de Wireshark es infinito (mucho más allá del alcance del ciclo)

  3. Tutorial para repasar el uso básico/medio:

Actividad. Uso de Wireshark (Avanzado)

Lo iremos usando a medida que avancemos en el curso. En este punto puedes revisar las preguntas 1 a 50 de la actividad Uso de Wireshark (Avanzado)