Tcpdump — Análisis y Filtros de Captura (Resumen YAML)
Tcpdump es un sniffer (capturador de paquetes) de línea de comandos que:
-
Usa la librería libpcap para leer tráfico en interfaces de red.
-
Permite ver, filtrar, guardar y analizar paquetes que circulan por la red.
-
Requiere permisos de root (
sudo) para acceder a la interfaz en modo promiscuo.
⚙️ Instalación y verificación
sudo apt install tcpdump -y
which tcpdump
sudo tcpdump --version
Ejemplo de salida:

📡 Uso básico
Listar interfaces disponibles
sudo tcpdump -D
Salida típica:

Capturar tráfico en una interfaz
sudo tcpdump -i eth0
Esto empieza a mostrar tráfico en vivo.
Presiona Ctrl + C para detener.
🧩 Modificadores comunes
| Switch | Función |
|---|---|
-i eth0 |
Especifica la interfaz |
-D |
Muestra interfaces disponibles |
-n |
No resuelve nombres (muestra IPs) |
-nn |
No resuelve IPs ni puertos |
-e |
Incluye encabezado Ethernet |
-X |
Muestra datos en ASCII y HEX |
-v, -vv, -vvv |
Aumenta la verbosidad |
-c 10 |
Captura 10 paquetes y termina |
-w output.pcap |
Guarda captura en archivo |
-r output.pcap |
Lee una captura desde archivo |
🧪 Ejemplos útiles
1️⃣ Captura simple con IPs y puertos sin resolver
sudo tcpdump -i eth0 -nn
2️⃣ Ver encabezado Ethernet + datos en ASCII/HEX
sudo tcpdump -i eth0 -nnvXX
3️⃣ Capturar solo 20 paquetes
sudo tcpdump -i eth0 -c 20
4️⃣ Guardar tráfico en archivo .pcap
sudo tcpdump -i eth0 -w ~/tráfico.pcap
5️⃣ Leer un archivo de captura
sudo tcpdump -r ~/tráfico.pcap
🎯 Filtros esenciales
Filtrar por host
sudo tcpdump -i eth0 host 10.10.10.5
Filtrar por origen o destino
sudo tcpdump -i eth0 src 192.168.1.10
sudo tcpdump -i eth0 dst 8.8.8.8
Filtrar por puerto o protocolo
sudo tcpdump -i eth0 port 80
sudo tcpdump -i eth0 tcp
sudo tcpdump -i eth0 udp
sudo tcpdump -i eth0 icmp
Filtrar por múltiples condiciones
sudo tcpdump -i eth0 tcp and port 22 and host 10.129.2.5
🔍 Interpretar la salida
Ejemplo:
11:02:35.580449 IP 172.16.146.2.48402 > 52.31.199.148.443: Flags [P.], seq 988167196:988167233, ack 1512376150, win 501, length 37
| Campo | Descripción |
|---|---|
| 11:02:35.580449 | Timestamp |
| IP | Protocolo |
| 172.16.146.2.48402 | IP y puerto origen |
| 52.31.199.148.443 | IP y puerto destino |
| Flags [P.] | Indicadores TCP (Push, Acknowledge) |
| seq/ack | Números de secuencia TCP |
| win 501 | Tamaño de ventana |
| length 37 | Longitud de datos |
🧰 Casos comunes de uso en pentesting
-
Verificar comunicación entre atacante y víctima
sudo tcpdump -i tun0 host 10.10.10.50 -
Ver tráfico HTTP sin cifrar
sudo tcpdump -i eth0 -A -s 0 port 80 -
Capturar credenciales FTP
sudo tcpdump -i eth0 port 21 -A -
Detección de escaneos de red
sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'
🧾 Consejos pro
-
Usa
-s 0para capturar paquetes completos (no solo encabezados). -
No corras
tcpdumpen redes grandes sin filtros: llenará tu disco rápido. -
Puedes combinarlo con Wireshark:
Guarda el.pcapy luego:wireshark ~/tráfico.pcap -
En CTFs, puedes usarlo para detectar conexiones reversas, shells, leaks o credenciales.