Tutoriales

Cómo utilizar Tcpdump para capturar y analizar paquetes

Tcpdump es una potente herramienta de análisis de red para el análisis del tráfico de red en sistemas Linux y macOS. Los administradores de red utilizan tcpdump para rastrear, capturar y analizar paquetes TCP/IP. Utiliza la biblioteca «libpcap» para ayudar a capturar el tráfico de la red de manera eficiente. Además, tcpdump ayuda con la resolución de problemas de la red y el monitoreo regular de la actividad de la red. La herramienta almacena los datos capturados en un archivo «pcap». Utilice herramientas de análisis de paquetes TCP/IP como Wireshark u otras herramientas de línea de comandos para analizar más a fondo estos archivos.

En esta guía, demostraremos cómo instalar tcpdump en un sistema Linux y cómo usar tcpdump para capturar y analizar paquetes TCP/IP.

Cómo instalar Tcpdump

Tcpdump viene preinstalado en muchas distribuciones de Linux. Pero si tcpdump aún no está instalado en su sistema, puede instalar tcpdump en su sistema Linux. Para instalar tcpdump en el sistema Ubuntu 22.04, use el siguiente comando:

$ sudo apto instalar tcpdump

Para instalar tcpdump en Fedora/CentOS, use el siguiente comando:

PS sudo dnf instalar tcpdump

Cómo utilizar el comando Tcpdump para capturar paquetes

Para usar tcpdump para capturar paquetes, use «Ctrl+Alt+t» para iniciar la terminal con privilegios sudo. La herramienta incluye diferentes opciones y filtros para capturar paquetes TCP/IP. Si desea recuperar todos los paquetes de datos móviles para la interfaz de red actual o predeterminada, use el comando 'tcpdump' sin ninguna opción.

El comando dado capturará paquetes de la interfaz de red predeterminada del sistema.

Después de ejecutar este comando, el recuento de todos los paquetes capturados y filtrados se mostrará en el terminal.

Echemos un vistazo al resultado.

Tcpdump puede analizar encabezados de paquetes TCP/IP. Muestra una línea para cada paquete y el comando continuará ejecutándose hasta que presione «Ctrl+C» para detenerlo.

Cada línea proporcionada por tcpdump contiene los siguientes detalles:

  • Marca de tiempo de Unix (por ejemplo, 02:28:57.839523)
  • Protocolo (IP)
  • Nombre de host de origen o IP y número de puerto
  • Nombre de host de destino o IP y número de puerto
  • Banderas TCP (por ejemplo, bandera [F.]) indica el estado de la conexión, con valores como S (SYN), F (FIN),. (ACK), P (EMPUJAR), R (RST)
  • El número de serie de los datos en el paquete de datos (por ejemplo, secuencia 5829:6820)
  • Número de confirmación (por ejemplo, ack 1016)
  • El tamaño de la ventana (por ejemplo, win 65535) representa la cantidad de bytes disponibles en el búfer de recepción, seguido de las opciones de TCP.
  • La longitud de la carga útil de datos (por ejemplo, longitud 991)

Para enumerar todas las interfaces de red del sistema, use el comando «tcpdump» con la opción «-D».

o

$ tcpdump –lista-interfaces

Este comando enumera todas las interfaces de red conectadas o ejecutándose en el sistema Linux.

Capturar paquetes desde una interfaz de red especificada

Si desea capturar paquetes TCP/IP que pasan a través de una interfaz específica, use el indicador «-i» en el comando «tcpdump» y especifique el nombre de la interfaz de red.

El comando dado captura el tráfico en la interfaz «lo». Si desea mostrar información detallada sobre el paquete, utilice el indicador «-v». Para imprimir detalles más completos, utilice el indicador «-vv» con el comando «tcpdump». El uso y análisis regulares ayudan a mantener un entorno de red sólido y seguro.

Asimismo, puedes capturar el tráfico para cualquier interfaz usando el siguiente comando:

Recuperar paquetes usando un puerto específico

Puede recuperar y filtrar paquetes especificando el nombre de la interfaz y el número de puerto. Por ejemplo, para capturar paquetes de red usando el puerto 22 a través de la interfaz «enp0s3», use el siguiente comando:

$ tcpdump -i enp0s3 puerto 22

El comando anterior recuperó todos los paquetes de datos móviles de la interfaz «enp0s3».

Utilice Tcpdump para capturar paquetes limitados

Puede utilizar el indicador «-c» con el comando «tcpdump» para capturar una cantidad específica de paquetes. Por ejemplo, para recuperar cuatro paquetes de datos en la interfaz «enp0s3», utilice el siguiente comando:

Reemplace el nombre de la interfaz con el de su sistema.

Comandos Tcpdump útiles para capturar el tráfico de red

A continuación, enumeramos algunos comandos “tcpdump” útiles que lo ayudarán a capturar y filtrar paquetes o tráfico de red de manera eficiente:

Usando el comando «tcpdump» puede capturar paquetes para una interfaz con una IP de destino o IP de origen definida.

$ tcpdump -i {nombre de interfaz} dst {IP de destino}

Puede capturar paquetes con un tamaño de instantánea de 65535 bytes, que es diferente del tamaño predeterminado de 262144 bytes. En versiones anteriores de tcpdump, el tamaño de captura estaba limitado a 68 o 96 bytes.

$ tcpdump -i enp0s3 -s 65535

Cómo guardar paquetes capturados en un archivo

Si desea guardar el material capturado en un archivo para su posterior análisis, puede hacerlo. Captura el tráfico de la interfaz especificada y luego lo almacena en un archivo «.pcap». Utilice el siguiente comando para guardar los datos capturados en un archivo:

$tcpdump-yo -s 65535 -w .pcap

Por ejemplo, tenemos la interfaz «enps03». Guarde los datos capturados en el siguiente archivo:

$ sudo tcpdump -i enps03 -w volcado.pcap

En el futuro, podrá utilizar Wireshark u otras herramientas de análisis de red para leer este archivo capturado. Por lo tanto, si desea utilizar Wireshark para analizar el paquete, utilice el parámetro «-w» y guárdelo en un archivo «.pcap».

en conclusión

En este tutorial, demostramos a través de diferentes ejemplos cómo usar tcpdump para capturar y analizar paquetes. También aprendimos cómo almacenar el tráfico capturado en un archivo «.pcap» que puede ver y analizar utilizando Wireshark y otras herramientas de análisis de red.

LEER  Cómo convertir texto a voz con eSpeak NG en Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba