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:

chevron-rightFiltrar tráfico por IPhashtag

Captura paquetes originarios de una IP concreta

chevron-rightFiltrar tráfico por IP de destinohashtag

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

chevron-rightFiltrar tráfico por puertohashtag

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

chevron-rightFiltrar tráfico por protocolohashtag

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

chevron-rightMostrar tráfico en formato ASCIIhashtag

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

chevron-rightMostrar tráfico en formato hexadecimalhashtag

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

chevron-rightCapturar un número específico de paqueteshashtag

Captura solo los primeros 100 paquetes y luego finaliza.

chevron-rightCapturar y mostrar tráfico IPv6hashtag

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

chevron-rightCapturar tráfico en una interfaz específicahashtag

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

chevron-rightCapturar protocolo y puerto específicoshashtag

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

chevron-rightFiltrar tráfico por origen y destinohashtag

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

chevron-rightMostrar el tráfico capturado en formato de marca de tiempo:hashtag

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:

chevron-rightCapturar cabeceras de peticiones y respuestas HTTPhashtag

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).

chevron-rightFiltrar tráfico por rango de IP y protocolohashtag

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

chevron-rightCapturar tráfico DNS y resolver nombres de hosthashtag

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

chevron-rightCapturar tráfico del canal de control FTPhashtag

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.

chevron-rightMonitorizar conexiones SSHhashtag

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

circle-info

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