jueves, 7 de febrero de 2019

Tutorial de tcpdump análisis de paquetes de red en Linux

Tcpdump es una herramienta de línea de comandos utilizada en sistemas operativos Linux que permite capturar, mediante la biblioteca libpcap, el tráfico de una red LAN, WAN, etc. 


Primero iniciamos con la instalación de tcpdum

#apt install tcpdump


Una vez instalado tenemos la opción de diferente comando depende las necesidades del momento.

-Comando para ver que interfaces de red tenemos instaladas
#tcpdump -D



-El comando tcpdump con el parámetro mas sencillo
#tcpdum -A

-Iniciamos con la captura de paquetes en la interfaz wlan0 la red inalambrica
#tcpdump -nS -i wlan0

-Comenzar a utilizar tcpdum en modalidad verbose para todas las interfaces de red
#tcpdump -v -i any

-Permite evitar que tcpdump ubique los nombre de dominio de las IP que son capturadas
#tcpdump -n -v

-Comando para hacer capturas por protocolo
#tcpdump -i eth0 udp
#tcpdump -i eth0 tcp
#tcpdump -i eth0 icmp

-Comando para hacer capturas del protocolo por un puerto especifico
Ejemplo del tráfico WEB por el puerto UDP 80:
#tcpdump -i eth0 tcp port 80

Ejemplo del tráfico DNS por el puerto UDP 53:

#tcpdump -i eth0 udp port 53

-Comando para ver paquetes de un host especifico
#tcpdump host 192.168.1.50 -v

-Comando para ver paquetes de un host y puerto especifico
#tcpdump host 192.168.1.50 and port 80 -v

-Host o IP de origen/destino
#tcpdum -i interfaz protocolo puerto condicion src ip

Especificamos todavía más, capturamos el tráfico TCP por el puerto 80, pero sólo visualizamos el tráfico originado desde la IP 192.168.1.50. Para ello usamos el parámetro “src“. 

Como estamos utilizando más de un parámetro, debemos comenzar a añadir condicionales (and|or)

El siguiente ejemplo captura el tráfico que cumple las dos condiciones, puerto TCP 80 y origen IP 192.168.1.50:
#tcpdump -i eth0 tcp port 80 and src 192.168.1.50

Al igual que existe IP/host de origen, existe de destino, el parámetro es “dst“. 

En este ejemplo utilizamos el condicional “or” en lugar de “and”, de modo que para que se capture tráfico, o viene por el puerto 80 TCP o tiene destino la IP 192.168.1.50 (sea cual sea el puerto y protocolo):
#tcpdump -i eth0 tcp port 80 and dst 192.168.1.50

-Comando para filtrar los paquetes con origen 192.168.1.50 que lleven destino al puerto 80
#tcpdump src host 192.168.1.50 and dst port 80 -v

-Comando que permite capturar todo el tráfico excepto ciertas condiciones
Además de los condicionales “and|or” que comentaba antes, también podemos utilizar “not” para descartar cierto tráfico

Por ejemplo, vamos a capturar todo el tráfico a excepción del tráfico por protocolo ICMP:
#tcpdump -i eth0 not icmp

También podemos usar varias condiciones. Por ejemplo, capturar todo el tráfico a excepción del ICMP y el TCP:
#tcpdump -i eth0 not icmp and not tcp

-Comando para capturar numero de paquetes específicos con destino a un puerto en especifico
#tcpdum -i cant de paquete dst puerto


Aquí el ejemplo
tcpdump -c 3 dst port 80

No hay comentarios:

Publicar un comentario