Tcpdump — Análisis y Filtros de Captura

📘 Concepto general

Tcpdump es una herramienta de línea de comandos que permite capturar tráfico de red y aplicar filtros para mostrar solo los paquetes que nos interesan.
Su uso es esencial en análisis de red, ya que ayuda a:


⚙️ Filtros más comunes

Filtro Función Ejemplo
host Muestra todo el tráfico hacia o desde un host. tcpdump host 10.10.10.10
src / dst Filtra por dirección de origen o destino. tcpdump src host 10.10.10.10
net Filtra tráfico de una red completa. tcpdump net 192.168.1.0/24
proto Filtra por protocolo (ether, tcp, udp, icmp, etc.). tcpdump proto 17
port Muestra tráfico de un puerto específico. tcpdump port 80
portrange Especifica un rango de puertos. tcpdump portrange 0-1024
less / greater Filtra por tamaño del paquete (en bytes). tcpdump greater 500
and / && Ambos filtros deben cumplirse. tcpdump host 10.0.0.5 and port 80
**or / **
not Niega una condición. tcpdump not udp

🔍 Ejemplos prácticos

🎯 Filtrar por host

sudo tcpdump -i eth0 host 172.16.146.2

➡️ Muestra todo el tráfico hacia y desde esa dirección IP.


🎯 Filtrar por dirección de origen

sudo tcpdump -i eth0 src host 172.16.146.2

➡️ Solo muestra los paquetes enviados desde ese host.


🎯 Filtrar por puerto

sudo tcpdump -i eth0 tcp port 443

➡️ Captura tráfico HTTPS (TCP puerto 443).


🎯 Filtrar por rango de puertos

sudo tcpdump -i eth0 portrange 0-1024

➡️ Muestra tráfico de servicios bien conocidos.


🎯 Filtrar por protocolo

sudo tcpdump -i eth0 udp

o con número de protocolo:

sudo tcpdump -i eth0 proto 17

➡️ UDP = protocolo número 17.


🎯 Filtrar por tamaño de paquete

sudo tcpdump -i eth0 less 64

➡️ Paquetes pequeños (por ejemplo, SYN o ACK).

sudo tcpdump -i eth0 greater 500

➡️ Paquetes grandes (transferencias de archivos o datos voluminosos).


🎯 Combinar filtros


🧩 Consejos útiles