Hace unos meses publiqué, en una página que frecuento llamado Taringa, un pequeño artículo sobre el uso de esta utilidad, me pareció interesante compartirla con ustedes. Es realmente muy interesante.
Tcpdump es una excelente herramienta que nos permite monitorear a través de nuestra preciada y querida consola de Linux todos los paquetes que atraviesen la interfaz indicada. A su vez, los múltiples filtros, parámetro y opciones que tcpdump nos ofrece, nos permite infinidades de combinaciones, al punto de poder monitorear todo el trafico completo que pase por la interfaz, como el trafico que ingrese de una ip, un host o una pagina especifica, podemos solicitar el trafico de un puerto especifico o pedirle a esta magnifica herramienta que nos muestre todos los paquetes cuyo destino sea una dirección MAC específica.
# tcpdump -i wlan0 host www.google.com
Resultados arrojados por tcpdump al ingresar a Google
En este caso le decimos a tcpdump que capture y nos informe acerca de los paquetes recibidos por parte de google en la interface wlan0, pero podemos ir mas alla, por ejemplo:
# tcpdump -i wlan0 port not 80 and host www.google.com
en este caso solicitamos aquellos paquetes que pasen por wlan0, que provengan de google pero que no pasen por el puerto 80 (el puerto del protocolo http), de manera que no se filtren los paquetes debidos al navegador y de esta manera podemos saber si san google nos envía información por algún puerto que no debería.
Ejemplos
Capturar tráfico cuya dirección IP de origen sea 192.168.3.1
tcpdump src host 192.168.3.1
Capturar tráfico cuya dirección origen o destino sea 192.168.3.2
tcpdump host 192.168.3.2
Capturar tráfico con destino a la dirección MAC 50:43:A5:AE:69:55
tcpdump ether dst 50:43:A5:AE:69:55
Capturar tráfico con red destino 192.168.3.0
tcpdump dst net 192.168.3.0
Capturar tráfico con red origen 192.168.3.0/28
tcpdump src net 192.168.3.0 mask 255.255.255.240
tcpdump src net 192.168.3.0/28
Capturar tráfico con destino el puerto 23
tcpdump dst port 23
Capturar tráfico con origen o destino el puerto 110
tcpdump port 110
Capturar los paquetes de tipo ICMP
tcpdump ip proto \icmp
Capturar los paquetes de tipo UDP
tcpdump ip proto \udp
tcpdump udp
Capturar el tráfico Web
tcpdump tcp and port 80
Capturar las peticiones de DNS
tcpdump udp and dst port 53
Capturar el tráfico al puerto telnet o SSH
tcpdump tcp and (port 22 or port 23)
Capturar todo el tráfico excepto el web
tcpdump tcp and not port 80
otra forma:
tcpdump tcp and ! port 80
Capturar todo el trafico a host 10.168.1.100 puerto 80, en full verbose mode, full snap length, sin ponerla en modo promiscuo, sin convertir las direcciones de salida, imprimir en ASCII y volcar todo el dump en un file
tcpdump -vvv -n -s 65535 -A -p -w /tmp/tcpdump host 10.168.1.100 and port 80
Analisis de los datos arrojados
15:23:44.772291 IP 192.168.1.17.52798 > 85.Red-83-37-170.dynamicIP.rima-tde.net.65000: . ack 1791 win 7851 <nop, nop, timestamp 5520421 997821>
- 15:23:44772291: Indica hh:mm:fracciones
- src: Dirección y puerto origen.
- dst: Dirección y puerto destino.
- flags: Flags de la cabecera TCP. (.) si no hay flags o combinación de S (SYN), F (FIN), P (PUSH), W (reducción de la ventana de congestión), E (ECN eco).
- dataseq: Número de secuencia del primer byte de datos en este segmento TCP. El formato es primero:último (n).
- ack: El número de asentimiento. Indica el número siguiente de secuencia que se espera recibir.
- window: Tamaño de la ventana de recepción.
- urgent: Existen datos urgentes.
- options: Indica la existencia de opciones. Van entre "<"...">".
Bueno, como ven, la herramienta tiene alcances realmente enormes y podria ser muy util si se la sabe usar.
Muchas gracias por la info, estoy empezando es esto de la administración de redes y me viene de perlas. Saludos desde Argentina
ResponderEliminar