tcpdump es un potente sniffer de paquetes de línea de comandos que todo administrador de redes ha tenido que usar en alguna ocasión, ya sea para testear el funcionamiento de alguna aplicación, para detectar problemas en red o capturar datos que circulan sin cifrar.
Para usar tcpdump se requiere tener privilegios de root.
Instalar tcpdump en linux es trivial:
Para aquellos que usan windows, decir que existe un port de tcpdump para ellos. Se llama Windump. Windump es completamente compatible con tcpdump y puede ser utilizado para los mismos fines.
Con tcpdump utilizamos una serie de filtros que nos van a permitir seleccionar los paquetes que queramos analizar. No voy a entrar en muchos detalles sobre la sintaxis de tcpdump, tan sólo voy a mostrar algunos ejemplos de cómo usarlo con algunos filtros. Para más info, recomiendo acudir al manual (man tcpdump).
Por defecto, tcpdump escuchará en eth0. Si queremos indicarle que escuche en otra interfaz, se lo indicaremos con el parámetro -i interfaz.
Ejemplos:
Imaginemos que queremos escuchar todo el tráfico que pasa por el interfaz eth0:
Imaginemos que tenemos dos interfaces: eth0 y wlan0 y queremos escuchar en wlan0:
Ahora imaginemos que queremos capturar el tráfico que proviene de un equipo que tiene la IP 192.168.1.12
Si quisiéramos capturar los paquetes que van destinados al equipo que tiene la IP 192.168.1.12
Y si quisiéramos capturar los paquetes con origen y destino 192.168.1.12
Si queremos capturar los paquetes dirigidos a una determinada dirección MAC:
Para capturar los paquetes que vengan desde una red, como por ejemplo 192.168.1.0:
Si queremos capturar los paquetes dirigidos por ejemplo a la ip 192.168.2.100 en el puerto 3128
Si queremos capturar el tráfico web:
También podemos capturar lo contrario de algo. Por ejemplo, capturar los paquetes que no vayan dirigidos a un host concreto.
Si queremos capturar peticiones de DNS:
Si queremos capturar peticiones ldap:
Y si queremos capturar peticiones a ldaps:
Si queremos capturar el tráfico de telnet:
Si queremos analizar el tráfico de dhcp:
Para usar tcpdump se requiere tener privilegios de root.
Instalar tcpdump en linux es trivial:
# apt-get install tcpdump
Para aquellos que usan windows, decir que existe un port de tcpdump para ellos. Se llama Windump. Windump es completamente compatible con tcpdump y puede ser utilizado para los mismos fines.
Con tcpdump utilizamos una serie de filtros que nos van a permitir seleccionar los paquetes que queramos analizar. No voy a entrar en muchos detalles sobre la sintaxis de tcpdump, tan sólo voy a mostrar algunos ejemplos de cómo usarlo con algunos filtros. Para más info, recomiendo acudir al manual (man tcpdump).
Por defecto, tcpdump escuchará en eth0. Si queremos indicarle que escuche en otra interfaz, se lo indicaremos con el parámetro -i interfaz.
Ejemplos:
Imaginemos que queremos escuchar todo el tráfico que pasa por el interfaz eth0:
# tcpdump
Imaginemos que tenemos dos interfaces: eth0 y wlan0 y queremos escuchar en wlan0:
# tcpdump -i wlan0
Ahora imaginemos que queremos capturar el tráfico que proviene de un equipo que tiene la IP 192.168.1.12
# tcpdump -i wlan0 src host 192.168.1.12 Si quisiéramos capturar los paquetes que van destinados al equipo que tiene la IP 192.168.1.12
# tcpdump -i wlan0 dst host 192.168.1.12
Y si quisiéramos capturar los paquetes con origen y destino 192.168.1.12
# tcpdump -i wlan0 host 192.168.1.12
Si queremos capturar los paquetes dirigidos a una determinada dirección MAC:
# tcpdump ether dst XX:XX:XX:XX:XX:XX (sustituyendo XX:XX:XX:XX:XX:XX por la dirección mac concreta)
Para capturar los paquetes que vengan desde una red, como por ejemplo 192.168.1.0:
# tcpdump src net 192.168.1.0
Si queremos capturar los paquetes dirigidos por ejemplo a la ip 192.168.2.100 en el puerto 3128
# tcpdump dst host 192.168.2.100 and dst port 3128
Si queremos capturar el tráfico web:
# tcpdump tcp and port 80
También podemos capturar lo contrario de algo. Por ejemplo, capturar los paquetes que no vayan dirigidos a un host concreto.
# tcpdump not dst host 192.168.1.100
Si queremos capturar peticiones de DNS:
# tcpdump udp and dst port 53
Si queremos capturar peticiones ldap:
# tcpdump tcp port ldap
Y si queremos capturar peticiones a ldaps:
# tcpdump -n tcp port ldaps
Si queremos capturar el tráfico de telnet:
# tcpdump tcp port 23
Si queremos analizar el tráfico de dhcp:
# tcpdump -i eth0 -n port 67 or port 68
0 comentarios:
Publicar un comentario en la entrada