Descripción:
El comando tcpdump es una herramienta de captura y análisis de tráfico de red en tiempo real. Permite inspeccionar paquetes que pasan por una interfaz de red y aplicar filtros avanzados para diagnosticar problemas, analizar seguridad o depurar servicios.
Internamente utiliza la librería libpcap y trabaja a nivel de paquete, no de aplicación.
Instalación:
# Debian / Ubuntu sudo apt update sudo apt install tcpdump # Fedora / RHEL sudo dnf install tcpdump # Arch Linux sudo pacman -S tcpdump # Verificar versión tcpdump --version
Nota: requiere privilegios de superusuario (sudo) para capturar tráfico.
Atributos y Parámetros:
| Atributo | Descripción |
|---|---|
-i INTERFAZ |
Selecciona la interfaz de red (eth0, wlan0, any, etc.). |
-n |
No resuelve nombres DNS (mejora rendimiento). |
-nn |
No resuelve DNS ni nombres de puertos. |
-v, -vv, -vvv |
Aumenta el nivel de detalle en la salida. |
-c NUM |
Captura un número limitado de paquetes. |
-w archivo.pcap |
Guarda la captura en archivo para analizar posteriormente. |
-r archivo.pcap |
Lee una captura previamente guardada. |
-A |
Muestra el contenido del paquete en formato ASCII. |
-X |
Muestra contenido en formato hexadecimal y ASCII. |
Ejemplos de Uso:
- Capturar tráfico en una interfaz específica:
sudo tcpdump -i eth0
Captura todo el tráfico que pasa por la interfaz eth0. Útil para una visión general rápida.
- Capturar en todas las interfaces:
sudo tcpdump -i any
Escucha en todas las interfaces del sistema. Ideal en servidores con varias NICs.
- Ver si un puerto está recibiendo tráfico (ejemplo: API en puerto 3000):
sudo tcpdump -i any port 3000 -nn
Permite comprobar si realmente están llegando peticiones al servicio.
- Detectar intentos de conexión SSH:
sudo tcpdump -i eth0 port 22 -nn
Muy útil para detectar ataques de fuerza bruta o escaneos.
- Capturar solo paquetes TCP:
sudo tcpdump -i eth0 tcp
Filtra exclusivamente tráfico TCP.
- Capturar solo paquetes UDP (ejemplo DNS):
sudo tcpdump -i eth0 udp port 53
Permite analizar consultas DNS.
- Filtrar por IP origen:
sudo tcpdump -i eth0 src host 192.168.1.10
Muestra solo tráfico generado por esa IP.
- Filtrar por IP destino:
sudo tcpdump -i eth0 dst host 192.168.1.50
Muestra solo tráfico dirigido a esa IP.
- Mostrar solo paquetes SYN (inicio de conexión TCP):
sudo tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'
Permite detectar intentos de conexión o escaneos.
- Detectar escaneos de puertos:
sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0'
Captura paquetes sospechosos utilizados en escaneos avanzados.
- Ver contenido HTTP en texto plano:
sudo tcpdump -i eth0 port 80 -A
Muestra cabeceras HTTP y contenido en ASCII.
- Mostrar en formato hexadecimal y ASCII:
sudo tcpdump -i eth0 -X
Útil para inspección técnica de paquetes.
- Capturar solo 20 paquetes y salir:
sudo tcpdump -i eth0 -c 20
Evita capturas infinitas en servidores en producción.
- Guardar captura para analizar posteriormente:
sudo tcpdump -i eth0 -w captura.pcap
Permite abrir el archivo en Wireshark para análisis avanzado.
- Leer una captura previamente guardada:
tcpdump -r captura.pcap
Analiza un archivo capturado anteriormente sin necesidad de capturar de nuevo.
Categoría:
Redes, Diagnóstico, Seguridad, Análisis de tráfico.
Distribuciones Compatibles:
Disponible en la mayoría de distribuciones Linux como Ubuntu, Debian, Fedora, RHEL, Arch Linux y otras.
Alternativas:
Wireshark: Analizador de tráfico con interfaz gráfica avanzada.tshark: Versión en consola de Wireshark.ngrep: Filtrado de tráfico similar a grep.ss: Visualiza conexiones activas (no captura paquetes).


Deja una respuesta