Podemos
utilizar este analizador para llevar a cabo tareas variadas, entre las que
destaco la depuración de nuestras aplicaciones de red o la lectura de datos que
se envían entre usuarios a través de la red.
Tcpdump
posee un gran número de parámetros, aquí veremos solo algunos de ellos, para
más información usar:
man tcpdump
Algunos parámetros de tcpdump
- -A: Indica que imprima los
paquetes en ASCII.
- -x: Para imprimirlos en
hexadecimal.
- -D: Nos mostrará las interfaces
disponibles.
- -i <<interface>>: Sirve para indicar la
interface en la que escuchar.
- -c <<número>>: Cerrar el programa al
capturar <<número>> de paquetes.
- -I: Configura la interface en
modo monitor.
- -p: Modo no promiscuo.
- -f <<fichero>>: La información se guarda en
el <<fichero>> que indiquemos.
- -h: Para obtener ayuda de la
herramienta.
Ejemplos de uso de tcpdump
Vamos a ver
una serie de ejemplos para familiarizarnos con tcpdump y empezar a entender la
herramienta y sus usos.
Ejemplo 1
El primer
ejemplo que mostramos es el más simple, usaremos el parámetro -A, el comando
utilizado es el que sigue a continuación:
sudo tcpdump -A
Según va
capturando los paquetes los va a ir mostrando en formato ASCII, se puede
apreciar en la siguiente imagen:
Ejemplo 2
En este
ejemplo se muestra como mostrar los paquetes filtrando por host, mostrando la
información en hexadecimal y terminando la ejecución al capturar 2 paquetes.
sudo tcpdump
host 192.168.0.197 -x -c 2
La captura
de ejecutarlo se puede apreciar en la siguiente imagen:
Ejemplo 3
En este
ejemplo vamos a volver a filtrar por host, pero solo del puerto 80 y en modo verboso
(-v), como necesitamos 2 que se cumplan dos condiciones usamos el condicional
and.
sudo tcpdump host 192.168.0.197 and port 80 -v
Se omite
imagen de este ejemplo, ya que no es nada relevante. En este ejemplo si
quisiéramos que el puerto fuese solo destino ejecutaríamos lo siguiente:
sudo tcpdump src host 192.168.0.197 and dst port 80 -v
Ejemplo 4
Vamos a
capturar paquetes indicando una interface, lo primero miramos las interfaces
disponibles con el comando:
sudo tcpdump -D
En este caso
seleccionamos la interface de localhost, y solo capturamos 1 paquete:
sudo tcpdump -i lo -c 1
A
continuación, se puede ver una imagen de la captura del comando anterior:
Ejemplo 5
También
podemos utilizar la negación, por ejemplo aquí la usamos para no capturar
paquetes que tengan puerto 80, además indicamos el protocolo que queremos que
se filtre, aquí tcp.
sudo tcpdump not port 80 and tcp
Ejemplo 6
Este es el
último ejemplo, y aquí vamos a dirigir la salida a un fichero, en vez de
mostrarlo en la pantalla, para poder verla más tarde. Se limita la captura a 5
paquetes, el fichero sera ciberbyte.pcap:
sudo tcpdump -w ciberbyte.pcap -c 5
Y a
continuación mostramos una captura de ejecutarlo:
Si queremos
leer ahora ese fichero, ejecutaremos el siguiente comando:
tcpdump -r ciberbyte.pcap
A
continuación, una captura con la salida:
Aquí termina
el tutorial, se ha podido ver lo potente que es esta herramienta, para profundizar
y ser más ágil usándola lo único que queda es practicar e ir descubriendo todas
sus opciones, esto solo es el inicio. Hasta la próxima.
No hay comentarios:
Publicar un comentario