Page cover

TCPDump: analizador de paquetes en red

¿Qué es TCPDUMP?

tcpdump es una herramienta de línea de comandos para capturar y analizar tráfico de red en sistemas Unix/Linux. Se trata de una herramienta muy ligera y potente, ideal para administradores de sistemas, ingenieros de redes y para tareas de seguridad informática.

Algunas de las funciones principales:

  • Captura paquetes en tiempo real desde una interfaz de red.

  • Filtra tráfico según IP, puerto, protocolo, rango de red, etc.

  • Permite guardar capturas en un archivo .pcap para analizarlas después (por ejemplo, con Wireshark).

  • Muestra el contenido de los paquetes en ASCII o hexadecimal.

  • Útil para depuración de conexiones HTTP, DNS, SSH, FTP, ICMP (ping), IPv6 y muchos más.


Instalación de TCPDump

Este programa es muy utilizado en todos los sistemas operativos basados en Linux, por lo tanto, vamos a poder instalarlo directamente desde los repositorios oficiales de cada distribución.

Ten en cuenta que este tipo de herramienta también se puede descargar directamente desde su página y compilarlo posteriormente. Aunque, esto es en el caso de que tu distribución no tuviera esta herramienta en sus repositorios, algo que resulta bastante extraño.

Por lo tanto, en el caso de Debian o Ubuntu, tenemos que poner la siguiente orden en la terminal:

sudo apt install tcpdump

Y nos saldrá algo así:

Una vez que lo tengamos instalado, podemos ejecutar la siguiente orden en la terminal para que nos muestre la ayuda:

  • En el caso de que necesites mucha más información sobre la herramienta, ver ejemplos de utilización y toda la documentación puedes recurrir al manual:


Uso de la herramienta

Algunos de los comandos más básicos de tcpdump son los siguientes, apréndetelos!

  1. Ver interfaces disponibles:

    (Lista las interfaces de red que puedes capturar).

  2. Capturar tráfico en una interfaz (ejemplo: eth0):

  3. Guardar captura en un archivo .pcap:

    (Luego se puede abrir en Wireshark).

  4. Leer un archivo de captura:

Casos de uso

A continuación tienes una lista de otros casos de uso, recuerda poner el sudo en todas:

Filtrar tráfico por IP

Captura paquetes originarios de una IP concreta

Filtrar tráfico por IP de destino

Captura paquetes destinados a una dirección IP específica, por ejemplo, 192.168.0.1.

Filtrar tráfico por puerto

Captura paquetes con un número de puerto específico, como el puerto 80 (HTTP).

Filtrar tráfico por protocolo

Captura paquetes que usan un protocolo de red específico, como ICMP (ping).

Mostrar tráfico en formato ASCII

Muestra el contenido de los paquetes en formato ASCII para facilitar la lectura.

Mostrar tráfico en formato hexadecimal

Muestra el contenido de los paquetes en formato hexadecimal y ASCII.

Capturar un número específico de paquetes

Captura solo los primeros 100 paquetes y luego finaliza.

Capturar y mostrar tráfico IPv6

Captura y analiza paquetes IPv6 para un análisis más completo de la red.

Capturar tráfico en una interfaz específica

Captura el tráfico de red en una interfaz específica, por ejemplo, wlan0 (interfaz inalámbrica).

Capturar protocolo y puerto específicos

Captura solo los paquetes TCP en el puerto 443 (HTTPS) para su análisis.

Filtrar tráfico por origen y destino

Captura paquetes entre una IP de origen específica (192.168.0.1) y una IP de destino específica (192.168.0.2).

Mostrar el tráfico capturado en formato de marca de tiempo:

Muestra los paquetes capturados con una marca de tiempo en un formato legible por humanos.

Opciones avanzadas

TCPdump ofrece capacidades avanzadas para un análisis de red en profundidad. Exploremos algunos ejemplos complejos que demuestran el poder y la flexibilidad de TCPdump para capturar y diseccionar paquetes de red:

Capturar cabeceras de peticiones y respuestas HTTP

Captura y muestra tráfico HTTP en el puerto 80, incluyendo tanto las cabeceras de petición como de respuesta (-A para salida en ASCII).

Filtrar tráfico por rango de IP y protocolo

Captura paquetes dentro del rango de IP 192.168.0.0/24, filtrando el tráfico SSH (puerto 22) y ICMP.

Capturar tráfico DNS y resolver nombres de host

Captura paquetes DNS en el puerto 53 y muestra la salida detallada (-nnvvv), sin resolución de nombres de host.

Capturar tráfico del canal de control FTP

Captura tráfico del canal de control FTP en el puerto 21, incluyendo los comandos y respuestas intercambiados entre el cliente y el servidor FTP.

Monitorizar conexiones SSH

Monitoriza conexiones SSH capturando paquetes en el puerto 22, mostrándolos en tiempo real (-l) e incluyendo cabeceras Ethernet (-e).

Si queremos aumentar la información que nos muestra a través de la línea de comandos, debemos aumentar el «verbose» de la siguiente forma:

Si queremos aumentarlo más, añadiremos más «v» detrás, de la siguiente forma:

Como ves, tcpdump es una herramienta avanzada más de captura y análisis de paquetes por terminal, lo bueno de esta, como siempre es la capacidad de integrarse en el sistema para automatizar detecciones por ejemplo.

Referencias:

Última actualización