0%
Guía de Tcpdump: analiza tu tráfico de red en Linux

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.

I

InSkillCoach

· min

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

  1. Limitación del tamaño de los paquetes:

    sudo tcpdump -s 96
  2. Visualización de las marcas de tiempo:

    sudo tcpdump -tttt
  3. Captura sin resolución DNS:

    sudo tcpdump -n
  4. 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

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.

InSkillCoach

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+
1.4k
346

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!