Limitar el Tamaño 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 controlar el tamaño de la captura de paquetes en Wireshark utilizando comandos de Tshark. Explorará dos técnicas esenciales: limitar el número total de paquetes con -c 500 y restringir la longitud de los paquetes con -s 128 para capturar solo los encabezados y ahorrar espacio de almacenamiento.

A través de ejercicios prácticos en la interfaz eth1, capturará el tráfico en limited.pcap y observará cómo diferentes configuraciones afectan sus capturas. Esta experiencia práctica le ayudará a optimizar la recopilación de paquetes para diversos escenarios de análisis.


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/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548932{{"Limitar el Tamaño de Captura en Tshark"}} wireshark/packet_capture -.-> lab-548932{{"Limitar el Tamaño de Captura en Tshark"}} wireshark/export_packets -.-> lab-548932{{"Limitar el Tamaño de Captura en Tshark"}} wireshark/commandline_usage -.-> lab-548932{{"Limitar el Tamaño de Captura en Tshark"}} end

Establecer el recuento de paquetes con -c 500

En este paso, aprenderá cómo controlar la duración de la captura de paquetes limitando el número de paquetes que recopila Wireshark. La opción -c es especialmente valiosa cuando necesita una muestra representativa del tráfico de red sin sobrecargar su sistema con una captura continua.

  1. Comience abriendo la terminal en su máquina virtual (VM) de LabEx. El sistema lo coloca automáticamente en el directorio de trabajo correcto (~/project), por lo que puede comenzar inmediatamente.

  2. La estructura del comando utiliza este patrón básico:

tcpdump -c [number] [other options]

Aquí, [number] determina exactamente cuándo se detiene la captura al especificar el número máximo de paquetes a recopilar. Esto evita ejecuciones indefinidas que podrían llenar su almacenamiento.

  1. Vamos a capturar 500 paquetes como nuestro ejercicio principal. Ejecute este comando:
sudo tcpdump -c 500 -i eth1

Note que especificamos eth1 como la interfaz de red. Esto le dice a tcpdump qué conexión de red debe monitorear, lo cual es crucial cuando su máquina tiene múltiples adaptadores de red.

  1. A medida que fluyen los paquetes, verá una salida en tiempo real. Después de exactamente 500 paquetes, tcpdump se detiene automáticamente y muestra estadísticas:
500 packets captured
500 packets received by filter
0 packets dropped by kernel

Estos números confirman una captura exitosa (primera línea), un filtrado adecuado (segunda línea) y la ausencia de problemas de recursos del sistema (cero paquetes descartados).

  1. Antes de realizar la captura completa de 500 paquetes, realice una prueba con una muestra más pequeña para entender el mecanismo. Esta prueba de 10 paquetes ayuda a verificar su configuración:
sudo tcpdump -c 10 -i eth1

Definir la longitud de instantánea con -s 128

En este paso, aprenderá cómo establecer la longitud de instantánea (snaplen) al capturar paquetes utilizando la opción -s. Esto determina cuánto de cada paquete se captura, siendo 128 bytes un valor común que captura los encabezados de los paquetes mientras se ahorra espacio de almacenamiento. La longitud de instantánea es especialmente útil cuando solo necesita los encabezados de los paquetes para el análisis en lugar de los contenidos completos de los paquetes.

  1. Primero, asegúrese de estar en el directorio de trabajo predeterminado ~/project en su terminal. Aquí es donde ejecutaremos todos nuestros comandos de captura para mantener las cosas organizadas.

  2. La opción de longitud de instantánea (-s) limita cuánto de cada paquete se captura al especificar el número de bytes a registrar. Valores más pequeños ahorran espacio en disco, pero pueden perder datos importantes de la carga útil. La sintaxis básica es:

tcpdump -s [length] [other options]
  1. Vamos a capturar paquetes con una longitud de instantánea de 128 bytes combinada con el recuento de paquetes del paso anterior. Este comando capturará los primeros 128 bytes de cada paquete hasta que alcance 500 paquetes:
sudo tcpdump -c 500 -s 128 -i eth1
  1. Verá una salida que muestra los primeros 128 bytes de cada paquete. La captura se detendrá automáticamente después de 500 paquetes, como se especifica con la opción -c. Esta combinación ayuda a controlar tanto el tamaño como la duración de la captura.

  2. Para entender mejor cómo la longitud de instantánea afecta las capturas, pruebe estos comandos de comparación. Observe cómo la cantidad de datos mostrados cambia con diferentes valores de -s:

sudo tcpdump -c 5 -s 64 -i eth1 ## Captura solo 64 bytes por paquete
sudo tcpdump -c 5 -s 0 -i eth1  ## Captura paquetes enteros (por defecto)

La configuración -s 0 le dice a tcpdump que capture el paquete completo, lo cual es útil cuando necesita los contenidos completos del paquete, pero consume más espacio de almacenamiento.

Capturar tráfico con -i eth1

En este paso, nos centraremos en capturar tráfico de red desde una interfaz específica utilizando la opción -i de Tshark. Las interfaces de red son las conexiones físicas o virtuales que su computadora utiliza para comunicarse con las redes. Cuando tiene múltiples interfaces (como Wi-Fi y Ethernet), especificar la correcta es crucial para un análisis de paquetes dirigido.

  1. Abra su terminal y navegue hasta el directorio de trabajo:
cd ~/project
  1. La bandera -i le dice a Tshark qué interfaz de red debe monitorear. La estructura básica del comando es:
tcpdump -i [interface] [other options]

Aquí, [interface] debe ser reemplazado por el nombre real de su interfaz, normalmente 'eth1' para Ethernet o 'wlan0' para Wi-Fi.

  1. Ahora, combinemos esto con lo que hemos aprendido sobre límites de paquetes (-c) y longitud de instantánea (-s). Este comando capturará 500 paquetes de la interfaz eth1, guardando solo los primeros 128 bytes de cada paquete:
sudo tcpdump -c 500 -s 128 -i eth1

Se requiere sudo porque la captura de paquetes necesita privilegios de administrador.

  1. Si no está seguro de qué interfaces están disponibles en su sistema, ejecute:
tcpdump -D

Esto muestra una lista numerada de todas las interfaces de red activas, lo que le ayuda a identificar la correcta para su captura.

  1. Para generar tráfico de prueba mientras se realiza la captura, abra otra terminal y ejecute:
ping -c 3 google.com

Esto envía 3 paquetes ICMP a los servidores de Google, que deberían aparecer en su captura. Observar estos paquetes conocidos ayuda a verificar que su captura funcione correctamente.

  1. La captura se detendrá automáticamente después de 500 paquetes, pero puede detenerla manualmente en cualquier momento presionando:
Ctrl+C

Esta interrupción de teclado termina de forma segura el proceso de captura mientras se conservan los datos capturados.

Guardar en un archivo con -w limited.pcap

En este paso, aprenderá cómo guardar el tráfico de red capturado en un archivo para su posterior análisis. La opción -w en tcpdump crea un archivo de captura de paquetes (pcap) que conserva todos los datos de red capturados. Esto es especialmente útil cuando necesita examinar patrones de tráfico fuera de línea o compartir capturas con colegas.

  1. Antes de comenzar, asegúrese de que su terminal esté en el directorio de trabajo correcto. Escriba:
cd ~/project

Esto garantiza que todos sus archivos de captura se guardarán en la carpeta de proyecto designada.

  1. La bandera -w le dice a tcpdump dónde almacenar los paquetes capturados. La estructura básica del comando es:
tcpdump -w [filename] [other options]

El nombre del archivo debe terminar con la extensión .pcap, que es el formato estándar para archivos de captura de paquetes.

  1. Ahora, combinemos todas las opciones que hemos aprendido hasta ahora en un ejemplo práctico. Este comando hará lo siguiente:
  • Capturar exactamente 500 paquetes (-c 500)
  • Limitar cada paquete a 128 bytes (-s 128)
  • Escuchar en la interfaz eth1 (-i eth1)
  • Guardar todo en un archivo llamado limited.pcap (-w limited.pcap)
sudo tcpdump -c 500 -s 128 -i eth1 -w limited.pcap
  1. Mientras tcpdump está en ejecución, abra otra ventana de terminal para generar algún tráfico de prueba. Estos comandos crearán actividad de red típica:
ping -c 3 google.com
curl http://example.com

Este tráfico simulado será capturado por nuestra sesión de tcpdump en ejecución.

  1. Después de capturar 500 paquetes (o presione Ctrl+C para detenerla antes), verifique que su archivo de captura exista y compruebe su tamaño:
ls -lh limited.pcap

La salida muestra los detalles del archivo, incluyendo el tamaño (56K en este ejemplo) y la hora de creación:

-rw-r--r-- 1 root root 56K Aug 10 15:30 limited.pcap
  1. Para revisar los paquetes capturados más tarde, use la opción -r para leer el archivo pcap:
tcpdump -r limited.pcap

Esto muestra el contenido de los paquetes exactamente como se capturaron, lo que le permite analizar el tráfico a su conveniencia.

Resumen

En este laboratorio, has aprendido a controlar el tamaño de la captura de paquetes en Tshark utilizando parámetros esenciales de la línea de comandos. Practicaste limitando la cantidad de paquetes con -c 500 y restringiendo la longitud de los paquetes con -s 128, observando cómo estas opciones afectan el comportamiento de la captura y la eficiencia de almacenamiento.

Los ejercicios demostraron la combinación de estas técnicas con la selección de interfaz (-i eth1) para un análisis de tráfico dirigido. A través de comandos como sudo tcpdump -c 500 -s 128 -i eth1, adquiriste experiencia práctica en la aplicación de múltiples restricciones de captura simultáneamente.