Filtrar tráfico en Wireshark

WiresharkBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá a filtrar tráfico de red mediante Wireshark, una herramienta esencial para el análisis de redes. Practicará el análisis de un archivo de paquetes capturado previamente, la aplicación de filtros de visualización para aislar tráfico específico y la exportación de los resultados para examinarlos posteriormente. Estas habilidades le ayudarán a identificar patrones de red, resolver problemas de conectividad y comprender las comunicaciones de red.

Primeros pasos con Tshark

Antes de utilizar la interfaz gráfica, comenzará con tshark, la versión de Wireshark para la línea de comandos. Es una herramienta eficaz para realizar análisis rápidos y crear scripts. En este paso, comprobará la instalación y realizará una inspección básica de un archivo de captura de paquetes proporcionado.

  1. Primero, compruebe que tshark está instalado correctamente consultando su versión.

    tshark --version
    

    Debería ver una salida que indique las versiones de Wireshark y tshark, similar a esta:

    TShark (Wireshark) x.x.x (Git vx.x.x packaged as x.x.x-1)
    ...
    
  2. En el directorio del proyecto se ha colocado un archivo de captura de paquetes de ejemplo llamado capture.pcap. Use el comando ls para confirmar que está presente.

    ls -lh capture.pcap
    

    La salida mostrará los detalles del archivo, incluidos su tamaño y nombre.

    -rw-rw-r-- 1 labex labex 9.1M Oct 24  2015 capture.pcap
    
  3. Para obtener un resumen general del archivo de captura, use la utilidad capinfos, que se incluye con Wireshark.

    capinfos capture.pcap
    

    Este comando proporciona metadatos del archivo, como el número de paquetes, la duración de la captura y el tamaño medio de los paquetes.

    File name:           capture.pcap
    File type:           Wireshark/tcpdump/... - pcap
    File encapsulation:  Ethernet
    File timestamp precision:  microseconds (6)
    Packet size limit:   file hdr: 65535 bytes
    Number of packets:   14 k
    File size:           9444 kB
    Data size:           9216 kB
    Capture duration:    298.505344 seconds
    First packet time:   2011-01-26 02:52:22.484409
    Last packet time:    2011-01-26 02:57:20.989753
    Data byte rate:      30 kBps
    Data bit rate:       247 kbps
    Average packet size: 646.28 bytes
    Average packet rate: 47 packets/s
    SHA256:              77d06d3f33f1a95fb9f2610f20ead8ce978449077d6ba22d4945b85bd48f75d1
    RIPEMD160:           68e950b2e438c7be011a46646ddfc8105b65b339
    SHA1:                06e502dca8dbfe8e6a9cabc61f722d94756f6db9
    Strict time order:   True
    Number of interfaces in file: 1
    Interface #0 info:
                         Encapsulation = Ethernet (1 - ether)
                         Capture length = 65535
                         Time precision = microseconds (6)
                         Time ticks per second = 1000000
                         Number of stat entries = 0
                         Number of packets = 14261
    
  4. Por último, use tshark para leer los cinco primeros paquetes del archivo. La opción -r especifica el archivo de entrada y -c limita el número de paquetes.

    tshark -r capture.pcap -c 5
    

    Se mostrará un resumen de una línea para cada uno de los cinco primeros paquetes, lo que le permitirá observar rápidamente el tráfico.

        1   0.000000 192.168.3.131 → 72.14.213.138 HTTP 997 GET /complete/search?client=chrome&hl=en-US&q=cr HTTP/1.1
        2   0.029841 72.14.213.138 → 192.168.3.131 HTTP 440 HTTP/1.1 200 OK  (text/javascript)
        3   0.223883 192.168.3.131 → 72.14.213.102 TCP 66 55950 → 80 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=4 SACK_PERM=1
        4   0.229423 192.168.3.131 → 72.14.213.138 TCP 54 57011 → 80 [ACK] Seq=944 Ack=387 Win=16192 Len=0
        5   0.242649 72.14.213.102 → 192.168.3.131 TCP 66 80 → 55950 [SYN, ACK] Seq=0 Ack=1 Win=5720 Len=0 MSS=1430 SACK_PERM=1 WS=64
    

Filtrado básico con Tshark

Las capturas de paquetes pueden contener miles de paquetes, lo que dificulta encontrar información específica. Los filtros de visualización permiten limitar la vista a los paquetes que cumplen determinados criterios. En este paso, aprenderá a aplicar filtros básicos mediante tshark.

  1. Los filtros de visualización se aplican mediante la opción -Y (Y mayúscula). Para ver únicamente los paquetes TCP, use el filtro tcp. Consulte los cinco primeros paquetes TCP del archivo.

    tshark -r capture.pcap -Y "tcp" -c 5
    

    La salida mostrará únicamente los paquetes cuyo protocolo sea TCP.

  2. También puede filtrar según las direcciones IP. Para ver todos los paquetes cuyo origen sea la dirección IP 192.168.3.131, use el filtro ip.src.

    tshark -r capture.pcap -Y "ip.src == 192.168.3.131" -c 5
    

    Observe el uso de == para realizar una coincidencia exacta.

  3. Puede combinar filtros mediante operadores lógicos como && (AND). Para encontrar los paquetes TCP cuyo origen sea la IP 192.168.3.131, combine los dos filtros anteriores.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131"
    
  4. Puede guardar la salida filtrada en un archivo de captura nuevo para analizarla posteriormente. La opción -w especifica el archivo de salida. Guarde los paquetes TCP filtrados en un archivo llamado filtered_tcp.pcap.

    tshark -r capture.pcap -Y "tcp && ip.src == 192.168.3.131" -w filtered_tcp.pcap
    
  5. Compruebe que se ha creado el archivo nuevo.

    ls -lh filtered_tcp.pcap
    

    Verá el archivo de captura nuevo, de menor tamaño, en el directorio.

Exploración del tráfico con la interfaz gráfica de Wireshark

Aunque tshark es excelente para la automatización, la interfaz gráfica de usuario (GUI) de Wireshark ofrece un entorno interactivo y completo para realizar análisis detallados de paquetes. En este paso, iniciará la GUI de Wireshark y explorará sus componentes principales.

  1. Inicie la aplicación Wireshark desde el terminal. Importante: asegúrese de utilizar Desktop Interface, no una interfaz de terminal independiente, ya que Wireshark es una aplicación gráfica que necesita un entorno gráfico para ejecutarse correctamente. El símbolo & al final ejecuta la aplicación en segundo plano y deja el terminal disponible para otros comandos.

    wireshark &
    

    Mantenga Wireshark abierto mientras completa este paso y ejecuta la comprobación del paso.

    Nota: Si intenta ejecutar este comando en un terminal independiente sin un entorno de escritorio, Wireshark no se iniciará. Utilice siempre Desktop Interface para las aplicaciones gráficas.

    Interfaz de escritorio de Wireshark

  2. Aparecerá la ventana principal de Wireshark. Como analizará un archivo existente, no necesita seleccionar una interfaz de red. En su lugar, abra el archivo capture.pcap.

    • Vaya a la barra de menús y haga clic en File -> Open....
    • En el cuadro de diálogo de archivos, vaya a /home/labex/project y seleccione capture.pcap.
    • Haga clic en el botón Open.
  3. La ventana principal se llenará con los paquetes del archivo. Dedique un momento a familiarizarse con los tres paneles principales:

    Ventana principal de Wireshark

    • Panel Packet List (superior): muestra una lista de todos los paquetes de la captura, con columnas para el número de paquete, la hora, el origen, el destino, el protocolo y otra información resumida.
    • Panel Packet Details (central): muestra una vista detallada y expandible de las capas de protocolo del paquete seleccionado en el panel de lista. Puede expandir cada capa (por ejemplo, Ethernet, IP y TCP) para ver sus campos.
    • Panel Packet Bytes (inferior): muestra los datos sin procesar del paquete seleccionado en formatos hexadecimal y ASCII.
  4. Haga clic en distintos paquetes del panel Packet List y observe cómo se actualiza la información de los paneles Packet Details y Packet Bytes. Esta exploración interactiva es una de las funciones más potentes de Wireshark.

Aplicación de filtros de visualización en la GUI

La sintaxis de filtros de visualización que aprendió con tshark funciona de la misma manera en la GUI de Wireshark. La GUI proporciona información visual inmediata, lo que facilita crear y probar filtros complejos.

  1. Localice la barra de filtros de visualización en la parte superior de la ventana de Wireshark. Es un campo de texto largo que suele mostrar Apply a display filter... como texto de marcador de posición.

  2. Filtre el tráfico HTTP. Escriba http en la barra de filtros y pulse Enter o haga clic en el botón Apply (una flecha situada a la derecha de la barra).

    http
    

    Filtro HTTP de Wireshark

    El panel Packet List se actualizará de inmediato para mostrar únicamente los paquetes HTTP. Observe que la barra de filtros se vuelve verde, lo que indica que la sintaxis del filtro es válida. Si escribe un filtro no válido, se volverá roja.

  3. Ahora, busque todo el tráfico DNS. Borre el filtro anterior, escriba dns en la barra de filtros y pulse Enter.

    dns
    

    Ahora verá todas las consultas y respuestas del Domain Name System incluidas en la captura.

  4. Puede combinar filtros igual que hizo con tshark. Para encontrar el tráfico HTTP relacionado con la dirección IP 192.168.3.131, ya sea como origen o como destino, use el filtro ip.addr combinado con el filtro http.

    http && ip.addr == 192.168.3.131
    

    Filtro HTTP de Wireshark

    Esta combinación le permite centrarse en conversaciones específicas. Pruebe otros filtros, como tcp.port == 80 (para el tráfico del puerto HTTP estándar) o udp (para el tráfico UDP). Para borrar un filtro y volver a ver todos los paquetes, haga clic en el botón X de la barra de filtros.

Exportación de datos filtrados

Después de filtrar el tráfico para aislar un evento de interés, a menudo necesitará exportar los resultados para elaborar informes, compartirlos o analizarlos posteriormente con otras herramientas. Wireshark y tshark ofrecen varias formas de exportar datos.

  1. Primero, en la GUI de Wireshark, aplique el filtro http como hizo en el paso anterior.

  2. Para guardar únicamente los paquetes mostrados (filtrados) en un archivo de captura nuevo:

    • Vaya a File -> Export Specified Packets....
    • En el cuadro de diálogo, asegúrese de que el botón de opción Displayed esté seleccionado en All Packets.
    • Asigne al archivo el nombre http_capture.pcap y guárdelo en el directorio /home/labex/project.

    Exportar paquetes especificados en Wireshark

  3. También puede exportar el resumen de los paquetes como archivo de texto o CSV. Para exportarlo como CSV:

    • Vaya a File -> Export Packet Dissections -> As CSV....
    • Asegúrese de que Displayed esté seleccionado en All Packets.
    • Asigne al archivo el nombre http_packets.csv y guárdelo en el directorio del proyecto.
  4. Puede realizar las mismas operaciones de exportación mediante tshark en la línea de comandos. Esto resulta útil para la automatización. El siguiente comando lee capture.pcap, filtra el tráfico http y exporta campos específicos a un archivo CSV.

    tshark -r capture.pcap -Y "http" -T fields -e frame.number -e ip.src -e ip.dst -e http.request.method -e http.host -E header=y -E separator=, > http_export_cli.csv
    
    • -T fields: especifica el formato de salida.
    • -e ...: especifica los campos (columnas) que se exportarán.
    • -E header=y: añade una fila de encabezado.
    • -E separator=,: utiliza una coma como separador.
  5. Compruebe que se han creado los archivos exportados.

    ls -lh http_*
    

    Debería ver los archivos http_capture.pcap, http_packets.csv y http_export_cli.csv en el directorio.

Resumen

En este laboratorio, ha aprendido los fundamentos del filtrado de tráfico de red con Wireshark y su equivalente para la línea de comandos, tshark. Primero inspeccionó un archivo de captura con tshark y capinfos. Después practicó la aplicación de filtros de visualización para aislar protocolos y direcciones IP específicos, primero con tshark y luego en la GUI interactiva de Wireshark. Por último, aprendió a exportar los resultados filtrados a nuevos archivos de captura y archivos CSV legibles para elaborar informes y realizar análisis. Estas habilidades básicas son fundamentales para cualquier tarea de análisis de redes o resolución de problemas.