How To Use Tcpdump For Packet Capture Featured Image

Cómo usar tcpdump para la captura de paquetes

La captura de paquetes es una forma muy útil de analizar el funcionamiento interno de una red. Hay una variedad de diferentes herramientas disponibles que se desarrollan para este propósito. Uno de ellos es tcpdump. Aquí le mostramos cómo hacer el mejor uso de esta gran herramienta para ingenieros de redes y probadores de penetración por igual.

¿Qué es tcpdump?

tcpdump es una herramienta de análisis de paquetes de red que fue desarrollada y lanzada en 1988 por un equipo de científicos informáticos que trabajaban en el Laboratorio Lawrence Berkeley y su Grupo de Investigación de Redes. Se utiliza para mostrar el contenido de los paquetes que envía y recibe una computadora. La utilidad viene con una variedad de opciones para hacer que la captura de paquetes sea más específica y enfocada. Algunas de estas opciones incluyen diferentes protocolos de red e interfaces de red.

Instalación

Muchas distribuciones de Linux vienen con la utilidad instalada de inmediato. Sin embargo, si su distribución preferida no lo hace, la instalación es afortunadamente rápida y simple.

Si está usando Ubuntu o Debian, por ejemplo, se puede instalar usando apt:

En CentOS, se hace lo mismo usando yum:

Y en Arch Linux usando pacman:

Los basicos

Con tcpdump instalado, puede echar un vistazo al manual usando el -h bandera:

Esto le muestra una lista de las banderas que puede utilizar al usar la herramienta.

Comando de ayuda Tcpdump

Si desea ver un manual más completo y detallado, puede ver la página del manual (página del manual) utilizando el man dominio:

Página man de Tcpdump

Puede ejecutar una captura de paquetes básica escribiendo:

Usando el comando por sí mismo y sin especificar una interfaz de red, la herramienta elegirá una de las interfaces disponibles en su sistema.

Si no desea que tcpdump resuelva los nombres de host y, en cambio, desea que genere solo direcciones IP, puede usar el -n bandera:

Si desea especificar el número de paquetes que desea capturar, utilice el -c bandera:

tcpdump -c [number of packets]

Especificación de una interfaz de red

Puede especificar su elección de interfaz de red mediante el -i bandera:

Dos de los nombres de interfaz de red más comunes en la mayoría de los sistemas son eth0 y wlan0:

tcpdump -i eth0
tcpdump -i wlan0

Si desea capturar datos en todas las interfaces, puede utilizar el any opción:

Tcpdump Cualquier captura de interfaces

Especificación de un puerto/intervalo de puertos

Si solo desea capturar datos que usan un número de puerto específico, use el comando:

tcpdump -i [interface] port [port number]

Supongamos que desea capturar el tráfico en la eth0 interfaz y para el puerto 443 (HTTPS). Escribe lo siguiente:

Además, tcpdump le permite especificar un rango de puertos:

tcpdump -i [interface] portrange [port range]

Especificación de un host o una subred

Habrá momentos en los que desee limitar los paquetes capturados solo a los enviados/recibidos de un host o subred específicos. Afortunadamente, tcpdump te permite hacerlo.

Puede especificar un host utilizando el siguiente formato:

tcpdump -i [interface] host [host]

Como ejemplo, capture el tráfico en la interfaz eth0 y especifique el host como 127.0.0.1 (su propia dirección IP de loopback):

tcpdump -i eth0 host 127.0.0.1

Captura de tráfico del host Tcpdump

Si desea especificar una subred de red usando la notación CIDR, puede usar el siguiente formato:

tcpdump -i [interface] net [subnet]

Por ejemplo:

tcpdump -i eth0 net 10.0.0.0/8

También puede especificar directamente un host de origen:

tcpdump -i [interface] src [host]

Y un host de destino:

tcpdump -i [interface] dst [host]

Especificación de verbosidad

tcpdump le permite especificar la verbosidad de la captura de paquetes. Esto es muy útil cuando no desea verse abrumado por la cantidad de información durante una captura.

Hay tres opciones incrementales para la verbosidad, las banderas -v, -vv y -vvv:

tcpdump -i [interface] -v
tcpdump -i [interface] -vv
tcpdump -i [interface] -vvv

Tcpdump Especificar verbosidad

La primera opción especifica la menor cantidad de verbosidad, mientras que la tercera opción especifica la mayor parte.

Guardar la captura en un archivo

A menudo es útil guardar los datos capturados en un archivo, para que puedan analizarse e interpretarse más a fondo.

Esto se hace usando el -w bandera:

tcpdump -i [interface] -w [filename]

Como ejemplo, puede guardar los datos capturados en un archivo llamado «capture.txt»:

tcpdump -i eth0 -w capture.txt

Preguntas frecuentes

1. Recibí un error de «Operación no permitida». ¿Cómo lo resuelvo?

El siguiente es un error común que los usuarios pueden recibir cuando intentan usar tcpdump:

Error de operación no permitida de Tcpdump

tcpdump le da este error cuando no tiene los permisos necesarios para realizar la captura de paquetes. En la mayoría de los escenarios, puede resolver esto usando sudo. Por ejemplo:

2. ¿Cómo sé qué interfaces de red están disponibles?

tcpdump tiene una funcionalidad integrada que le permite verificar las interfaces de red disponibles en su sistema.

Para comprobar las interfaces, utilice el -D bandera:

Experto Geek - Tu Guía en Tendencias Tecnológicas