Tcpdump
|
Tcpdump. Es un herramienta utilizada mediante líneas de comandos que permite el análisis del tráfico que circula en la red. La misma captura en tiempo real los paquetes enviados y recibidos por el ordenador conectado.
Está escrito por Van Jacobson, Craig Leres, y Steven McCanne que trabajaban en ese momento en el Grupo de Investigación de Red del Laboratorio Lawrence Berkeley, donde mas tarde el programa fue ampliado por Andrew Tridgell.
Funcionamiento
Tcpdump diagnostica las redes TCP/IP y su resultado final o salida del comando los presenta en formato legible, comúnmente denominado sniffer. No es intrínsecamente peligroso, y es de gran utilidad para los administradores de redes que necesiten ver el tráfico para poder buscar problemas en una red. Soporta operadores booleanos de búsqueda y puede utilizar nombres de host, direcciones IP, nombres de red, y protocolos como argumentos.
El usuario puede aplicar varios filtros para que sea más depurada la salida. Un filtro es una expresión que va detrás de las opciones y que nos permite seleccionar los paquetes que estamos buscando. En ausencia de ésta, el tcpdump volcará todo el tráfico que vea el adaptador de red seleccionado.
Utilización frecuente de tcpdump
- Para depurar aplicaciones que utilizan la red para comunicar.
- Para depurar la red misma.
- Para capturar y leer datos enviados por otros usuarios u ordenadores. Algunos protocolos como telnet y HTTP no cifran los datos que envían en la red. Un usuario que tiene el control de un router a través del cual circula tráfico no cifrado puede usar tcpdump para conseguir contraseñas u otras informaciones.
Requerimientos
tcpdump funciona en la mayoría de los sistemas operativos UNIX, Linux, Solaris, BSD, Mac OS X, HP-UX y AIX entre otros. En esos sistemas, tcpdump hace uso de la librería libpcap para capturar los paquetes que circulan por la red.
Existe una adaptación de tcpdump para los sistemas Windows que se llama WinDump y que hace uso de la biblioteca Winpcap.
En UNIX y otros sistemas operativos, es necesario tener los privilegios del root para utilizar tcpdump.
Parámetros
tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -Z user ] [ expression ]
- -A: Imprime cada paquete en código ASCII
- -D: Imprime la lista de interfaces disponibles
- -n: No convierte las direcciones de salida
- -p: No utliza la interfaz especificada en modo promiscuo
- -t: No imprime la hora de captura de cada trama
- -x: Imprime cada paquete en hexadecimal
- -X: Imprime cada paquete en hexadecimal y código ASCII
- -c count: Cierra el programa tras recibir 'count' paquetes
- -C file_size
- -E algo:secret
- -F file
- -i interface: Escucha en la interfaz especificada
- -M secret
- -r file
- -s snaplen
- -T type
- -w file: Guarda la salida en el archivo 'file'
- -W filecount
- -y datalinktype
- -Z user
Ejemplos
- Capturar tráfico de un IP origen
tcpdump src host 192.168.100.100
- Capturar tráfico para red destino
tcpdump dst net 192.168.100.0
- Capturar las peticiones de DNS
tcpdump udp and dst port 53