Tcpdump — Captura y Análisis de Paquetes
Captura de tráfico con tcpdump: filtros por host/puerto, lectura de PCAPs, extracción de IPs con awk/sort/uniq, inspección de flags TCP (tcp[13]) y volcado a fichero.
1. Operational Scope & Technical Objective
tcpdump captura y analiza paquetes en la interfaz o en ficheros .pcap. En operaciones cumple dos roles: recon pasivo (leer credenciales o protocolos en claro, mapear hosts) y forense (leer capturas del objetivo, extraer IPs y reconstruir conversaciones). El filtro BPF define qué se captura; los flags de salida (-n, -A, -X, -S) deciden cuánto se revela de cada paquete. La inspección de bytes TCP (tcp[13]) permite filtrar por flags concretos, la base del análisis fino de handshakes y sesiones.
2. High-Impact Syntax & Command Cheatsheet
# Captura en vivo: paquetes TCP hacia dos destinos
tcpdump tcp dst 192.168.1.7 80 and tcp dst 10.5.5.252 21
# filtro BPF: captura los TCP con dst IP y puerto indicados (and combina)
# Leer un fichero pcap
tcpdump -r passwordz.pcap
# Mostrar IPs y filtrar/sort (análisis de tráfico)
tcpdump -n -r passwordz.pcap | awk -F" " '{print $3}' | sort -u | head
# -n -> sin resolución DNS (más rápido y preciso)
# $3 -> par src->dst de cada línea; sort -u -> destinos únicos
# Capturar el puerto 80 en la interfaz eth0 y volcarlo a pcap
tcpdump tcp port 80 -w output.pcap -i eth0
# -w -> escribe a fichero (no a stdout); -i -> interfaz
# Filtrar por flags TCP usando el byte de offset 13 (TCP header)
tcpdump -A -n 'tcp[13] = 24' -r passwordz.pcap
# tcp[13] = 24 -> ACK(0x10) + PSH(0x08) = 0x18 = 24: paquetes con datos de app
# -A -> imprime cada paquete en ASCII (ver el payload)
# Filtros por dirección/puerto
tcpdump -n src host <ip> -r password_cracking_filtered.pcap
tcpdump -n dst host <ip> -r password_cracking_filtered.pcap
tcpdump -n port <port> -r password_cracking_filtered.pcap
# Flags de salida importantes
# -nn -> evita también la resolución de nombres de servicio (más rápido)
# -X -> hex + ASCII de cada paquete; -XX: incluye el header Ethernet
# -A -> solo ASCII (payloads de texto: credenciales, HTTP)
# -S -> números de secuencia absolutos (no relativos)
# -s 0 -> snap-length completo (captura el paquete entero, sin truncar)
3. Real-World Offensive/Defensive Scenarios
Caza de credenciales en claro. Un pcap del objetivo (o una captura propia durante el test) se filtra con tcp[13] = 24 (ACK+PSH, donde van los datos) y -A: HTTP, FTP, SMTP, Telnet y protocolos sin TLS exponen usuarios y contraseñas directamente en ASCII.
Reconstrucción de hosts desde una captura. tcpdump -n -r cap.pcap | awk '{print $3}' | sort -u devuelve todos los pares de comunicación: el mapa de qué hosts hablan con qué, útil para mapear la red interna desde el pcap sin tocar la infraestructura.
Defensa (forense). El Blue Team usa tcpdump -s 0 -w <fecha>.pcap -i any como captura de referencia (snap-length completo para no perder payloads) y -nn para análisis rápidos de anomalías. Los -S absolutos son imprescindibles para correlacionar paquetes duplicados/retransmisiones en un incidente.