Comprimir archivos de captura en Tshark

WiresharkWiresharkBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá a capturar, comprimir y analizar el tráfico de red utilizando la herramienta de línea de comandos tshark de Wireshark. Practicará comandos esenciales para la selección de interfaces, el guardado de archivos comprimidos y la lectura de paquetes mientras verifica la integridad de los datos.

Los ejercicios abarcan la lista de interfaces, la captura de tráfico en vivo y la inspección de archivos comprimidos. Al completar este laboratorio, adquirirá habilidades para gestionar de manera eficiente las capturas de paquetes en formatos comprimidos, optimizando el espacio de almacenamiento sin comprometer la calidad de los datos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} wireshark/packet_capture -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} wireshark/display_filters -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} wireshark/protocol_dissection -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} wireshark/packet_analysis -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} wireshark/commandline_usage -.-> lab-548918{{"Comprimir archivos de captura en Tshark"}} end

Capturar tráfico con -i eth1

En este paso, aprenderá cómo utilizar tshark, la versión de línea de comandos de Wireshark, para capturar el tráfico de red en vivo. La opción -i le permite especificar qué interfaz de red monitorear, lo cual es crucial cuando su máquina tiene múltiples conexiones de red.

  1. Primero, preparemos nuestro espacio de trabajo. Abra la terminal en su máquina virtual (VM) de LabEx y navegue hasta el directorio del proyecto donde almacenaremos nuestras capturas:

    cd ~/project
  2. Antes de capturar, necesitamos identificar las interfaces de red disponibles. Ejecute este comando para mostrarlas:

    tshark -D

    Verá una salida que enumera sus interfaces de red, que por lo general incluye:

    1. eth1 (su interfaz Ethernet principal)
    2. any (todas las interfaces)
    3. lo (bucle interno para la comunicación interna)
  3. Para comenzar a capturar paquetes en su interfaz de red principal (por lo general eth1), utilice:

    tshark -i eth1

    Esto muestra el tráfico de red en tiempo real que se desplaza en su terminal; cada línea representa un paquete con las direcciones de origen/destino y la información del protocolo.

  4. Para detener la captura continua (que de lo contrario se ejecutaría indefinidamente), presione Ctrl+C. La terminal luego mostrará estadísticas de captura, incluyendo el total de paquetes capturados.

  5. Para practicar, capture exactamente 5 paquetes. La bandera -c limita la cantidad de capturas:

    tshark -i eth1 -c 5

    Este comando se detiene automáticamente después de capturar 5 paquetes, lo que le brinda una muestra manejable para examinar.

Guardar con Gzip utilizando -w capture.pcap.gz

En este paso, exploraremos cómo almacenar de manera eficiente las capturas de tráfico de red guardándolas directamente en formato comprimido utilizando Tshark. La compresión ayuda a reducir el espacio de almacenamiento mientras se mantiene toda la información original de los paquetes. La opción -w en Tshark maneja automáticamente la compresión cuando se utiliza la extensión de archivo .gz.

  1. Primero, naveguemos hasta nuestro directorio de trabajo donde almacenaremos los archivos de captura. Esto asegura que todos nuestros archivos se mantengan organizados en un solo lugar:

    cd ~/project
  2. Ahora capturaremos el tráfico de red en vivo y lo guardaremos comprimido. El siguiente comando hace tres cosas importantes a la vez:

    • Especifica qué interfaz de red se debe monitorear (eth1)
    • Comprime automáticamente el archivo de salida (observe la extensión .gz)
    • Limita la captura a 10 paquetes con fines demostrativos
    tshark -i eth1 -w capture.pcap.gz -c 10

    Mientras se ejecuta el comando, verá cómo Tshark cuenta cada paquete capturado hasta que alcanza 10.

  3. Después de que finalice la captura, verifiquemos que nuestro archivo comprimido se haya creado correctamente. Las opciones -lh muestran el tamaño del archivo en un formato legible para humanos:

    ls -lh capture.pcap.gz

    La salida muestra los detalles del archivo comprimido, incluyendo su tamaño (mucho más pequeño que una captura sin comprimir):

    -rw-r--r-- 1 labex labex 1.2K Mar 1 10:00 capture.pcap.gz
  4. Finalmente, podemos leer directamente desde el archivo comprimido sin descomprimirlo manualmente. Este comando muestra solo los primeros 3 paquetes para confirmar que nuestra captura funcionó:

    tshark -r capture.pcap.gz -c 3

    Tshark maneja la descompresión automáticamente, mostrándote los detalles de los paquetes exactamente como si hubieras utilizado un archivo sin comprimir.

Leer un archivo comprimido con -r capture.pcap.gz

En este paso, trabajarás con el archivo de captura de paquetes comprimido (capture.pcap.gz) que creaste anteriormente. Utilizaremos la herramienta de línea de comandos tshark de Wireshark para leer y analizar este archivo sin necesidad de descomprimirlo manualmente primero. Esto es especialmente útil cuando se trabaja con archivos de captura grandes que ocuparían mucho espacio en el disco si no estuvieran comprimidos.

  1. Primero, verifiquemos que estamos en el lugar correcto y que nuestro archivo de captura comprimido existe. Los siguientes comandos nos llevarán al directorio del proyecto y listarán el archivo con sus detalles:

    cd ~/project
    ls -l capture.pcap.gz

    Deberías ver el archivo comprimido listado con su tamaño y permisos. Esto confirma que estamos listos para continuar.

  2. El comando básico para leer el archivo de captura comprimido muestra resúmenes de paquetes. Cada línea representa un paquete de red con información esencial como la marca de tiempo, las direcciones de origen/destino y el protocolo:

    tshark -r capture.pcap.gz

    Observa que tshark maneja automáticamente la compresión gzip; no necesitamos pasos de descompresión separados.

  3. Cuando se trabaja con archivos grandes, a menudo es útil limitar la salida. Este comando muestra solo los primeros 5 paquetes, lo cual es útil para una verificación rápida:

    tshark -r capture.pcap.gz -c 5

    La bandera -c significa "count" (conteo) y controla cuántos paquetes se deben mostrar.

  4. Para profundizar en el contenido de los paquetes, usamos el modo detallado con -V. Este ejemplo muestra los detalles completos de los primeros 3 paquetes, incluyendo todos los encabezados de protocolo y los datos de la carga útil:

    tshark -r capture.pcap.gz -V -c 3

    La salida detallada es invaluable cuando se necesita examinar campos específicos de los paquetes o solucionar problemas de red.

  5. Para un análisis más específico, podemos filtrar los paquetes por protocolo. Este comando muestra los primeros 2 paquetes HTTP encontrados en la captura:

    tshark -r capture.pcap.gz -Y "http" -c 2

    La bandera -Y aplica un filtro de visualización (similar a la sintaxis del filtro principal de Wireshark).

  6. Finalmente, para obtener estadísticas sobre todo el archivo de captura sin mostrar paquetes individuales, usamos este comando de conteo:

    tshark -r capture.pcap.gz -q -z io,stat,0

    La -q hace que la salida sea silenciosa (suprime la visualización de paquetes), mientras que -z proporciona varias opciones de estadísticas. Esto da una visión general rápida del tamaño y el contenido de la captura.

Verificar con -V

En este paso, explorarás el poderoso modo detallado (verbose mode) de Wireshark utilizando la bandera -V. Este modo revela la desglose completo del protocolo de los paquetes, mostrándote exactamente lo que está sucediendo en cada capa de la comunicación de red. Es especialmente útil cuando necesitas examinar el contenido de los paquetes más allá de los encabezados básicos.

  1. Primero, naveguemos hasta nuestro directorio de trabajo y verifiquemos que nuestro archivo de captura comprimido exista. El comando cd cambia de directorio, mientras que ls -l muestra información detallada del archivo:

    cd ~/project
    ls -l capture.pcap.gz
  2. Ahora usaremos -V para ver detalles completos del protocolo. La bandera -c 3 limita la salida a los primeros 3 paquetes, lo que facilita el análisis:

    tshark -r capture.pcap.gz -V -c 3

    La salida de cada paquete mostrará información capa por capa, incluyendo los encabezados de Ethernet, IP y de la capa de transporte, seguidos de cualquier dato de la capa de aplicación.

  3. Cuando nos centramos en el tráfico HTTP, combinamos -V con un filtro de visualización (-Y). Esto muestra solo los paquetes HTTP con todos sus detalles de protocolo:

    tshark -r capture.pcap.gz -Y "http" -V -c 2
  4. Para el análisis de TCP, este comando muestra un paquete TCP con todos sus campos de protocolo. Verás números de secuencia, banderas, tamaño de ventana y otra información específica de TCP:

    tshark -r capture.pcap.gz -V -Y "tcp" -c 1
  5. Las consultas DNS revelan detalles interesantes en modo detallado. Esto muestra un solo paquete DNS, incluyendo el tipo de consulta, la clase y la sección de pregunta completa:

    tshark -r capture.pcap.gz -V -Y "dns" -c 1
  6. Finalmente, podemos buscar paquetes con sumas de comprobación (checksums) incorrectas. Esto ayuda a identificar posibles problemas de corrupción de red o de captura:

    tshark -r capture.pcap.gz -V -Y "tcp.checksum_bad==1" -c 1

Resumen

En este laboratorio, has aprendido a capturar, comprimir y analizar de manera eficiente el tráfico de red utilizando la herramienta de línea de comandos tshark de Wireshark. Practicaste la captura de tráfico en vivo en la interfaz eth1 con -i eth1 y el guardado de archivos comprimidos directamente en formato gzip utilizando -w capture.pcap.gz.

Los ejercicios demostraron cómo gestionar de manera efectiva las capturas de paquetes combinando la compresión con el análisis. Verificaste la capacidad de leer archivos comprimidos sin descompresión manual utilizando -r capture.pcap.gz, mientras dominabas banderas esenciales como -i, -w, -r y -c.