Guía de Tcpdump: analiza tu tráfico de red en Linux
Domina tcpdump para capturar y analizar el tráfico de red en Linux. De los comandos básicos a los filtros avanzados, descubre cómo diagnosticar eficazmente tus problemas de red.
InSkillCoach
Guía completa de Tcpdump en Linux
Tcpdump es una potente herramienta de análisis de paquetes de red en línea de comandos disponible en la mayoría de los sistemas Unix. En esta guía exploraremos sus funcionalidades esenciales y aprenderemos a utilizarlo de forma eficaz para diagnosticar problemas de red.
Instalación de Tcpdump
En la mayoría de las distribuciones Linux, tcpdump se puede instalar mediante el gestor de paquetes:
# Debian/Ubuntu
sudo apt install tcpdump
# Red Hat/CentOS
sudo yum install tcpdump
# Arch Linux
sudo pacman -S tcpdump
Comandos básicos
Captura simple
Para empezar a capturar el tráfico en todas las interfaces:
sudo tcpdump -i any
Especificar una interfaz
Para capturar el tráfico en una interfaz concreta:
sudo tcpdump -i eth0
Mostrar los paquetes en formato legible
Para ver el contenido de los paquetes en ASCII:
sudo tcpdump -A -i eth0
Filtros de captura
Filtrar por host
Capturar el tráfico de un host concreto:
sudo tcpdump host 192.168.1.1
Filtrar por puerto
Capturar el tráfico en un puerto concreto:
sudo tcpdump port 80
Filtrar por protocolo
Capturar únicamente el tráfico TCP:
sudo tcpdump tcp
Expresiones de filtrado avanzadas
Combinación de filtros
Utilizar operadores lógicos (and, or, not):
# Tráfico HTTP hacia un host específico
sudo tcpdump 'tcp port 80 and host 192.168.1.1'
# Tráfico SSH o HTTP
sudo tcpdump 'tcp port 22 or tcp port 80'
Filtrar por dirección
Especificar la dirección del tráfico:
# Tráfico entrante
sudo tcpdump 'dst host 192.168.1.1'
# Tráfico saliente
sudo tcpdump 'src host 192.168.1.1'
Grabación y análisis
Guardar la captura
Guardar la captura en un archivo para analizarla más tarde:
sudo tcpdump -w capture.pcap
Leer una captura guardada
Analizar un archivo de captura existente:
sudo tcpdump -r capture.pcap
Casos de uso prácticos
Depuración de DNS
Capturar las consultas DNS:
sudo tcpdump -i any port 53
Análisis del tráfico HTTP
Capturar y analizar el tráfico web:
sudo tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Monitorización de las conexiones SSH
Monitorizar los intentos de conexión SSH:
sudo tcpdump 'tcp port 22'
Buenas prácticas y consejos
-
Limitación del tamaño de los paquetes:
sudo tcpdump -s 96 -
Visualización de las marcas de tiempo:
sudo tcpdump -tttt -
Captura sin resolución DNS:
sudo tcpdump -n -
Limitar el número de paquetes:
sudo tcpdump -c 100
Resolución de problemas comunes
Problemas de permisos
Si encuentras errores de permisos:
- Asegúrate de utilizar
sudo - Comprueba las capabilities con
getcap $(which tcpdump) - Añade el usuario al grupo adecuado
Interfaz no encontrada
- Comprueba la lista de interfaces disponibles con
tcpdump -D - Asegúrate de que la interfaz está activa
Conclusión
Tcpdump es una herramienta indispensable para cualquier administrador de sistemas Linux. Su flexibilidad y su potencia lo convierten en una excelente opción para el análisis de red, la depuración y la seguridad. Con los comandos y ejemplos de esta guía, ya dispones de una base sólida para empezar a utilizar tcpdump de forma eficaz.
Recursos adicionales
- Documentación oficial de Tcpdump
- Página man de Tcpdump
- Wireshark - Una alternativa gráfica a tcpdump
Recuerda que la práctica es la clave para dominar tcpdump. Empieza con capturas sencillas y avanza hacia filtros más complejos a medida que ganes confianza.
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión