Professional Documents
Culture Documents
Wireshark, es un analizador de protocolos utilizado para realizar análisis y solucionar problemas en redes de
comunicaciones para desarrollo de software y protocolos, y como una herramienta didáctica para educación.
Su función es similar a la de *tcpdump, pero añade una interfaz gráfica y opciones de organización y filtrado de
información. Así, permite ver todo el tráfico que pasa a través de una red estableciendo la configuración en modo
promiscuo.
En la siguiente explicación veremos como funciona más detalladamente.
-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·-·--·-·-·-·-
Manual Wireshark
1.-Cuando abrimos por primera vez el programa se muestra y detalla la interfaz de usuario y como se aplican las
principales funciones de WireShark (Capturar, Desplegar y Filtrar paquetes).
File -> contiene las funciones para manipular archivos y para cerrar la aplicación Wireshark.
Edit ->este se puede aplicar funciones a los paquetes, por ejemplo, buscar un paquetes especifico, aplicar una marca
al paquete y configurar la interfaz de usuario.
View -> permite configurar el despliegue del paquete capturado.
Go -> Desde aquí permiten ...
Capture -> para iniciar y detener la captura de paquetes.
Analyze ->desde analyze podemos manipular los filtros, habilitar o deshabilitar protocolos, flujos de paquetes, etc.
Statistics ->podemos definir u obtener las estadísticas del trafico capturado.
Help -> menú de ayuda.
A continuación empezaremos con la aplicación más sencilla que podemos utilizar en el programa.
Capturar paquetes IP
WireShark cuenta con tres maneras para iniciar la captura de los paquetes:
·Haciendo doble clic en se despliega una ventana donde se listan las interfaces locales disponibles para iniciar la
captura de paquetes.
Otra opcion es Otra seleccionar el icono en la barra de herramientas, y abrimos la siguiente ventana donde se
muestra opciones de configuración para la tarjeta de red.
O por ultimo en el caso que se haya predefinido las opciones de la tarjeta, haciendo clic en se inicia la captura de
paquetes inmediata.
Capture/start
En la parte que he señalado en amarillo-> En este panel se despliega el contenido del paquete en formato
hexadecimal.
Wireshark tiene otra funcion importante y es la campura de paquetes pero con filtrado.
Para guardar o abrir un filtro existente se debe seleccionar Display Filter en el menú Analyze o Capture Filter que se
encuentra en el menú Capture.
Capture/filter
Para definir un filtro pulsamos un nombre de la lista que tenemos y solo nos filtrara aquello que allamos seleccionado
Analizando un paquete.
En la captura vemos que al hacer ping tenemos dos clases de protocolos diferentes: ARP y ICMP.
ARP -> para poder llegar al nodo correspondiente se necesita que la tabla ARP se rellene y mas tarde el ping se ara
correctamente.
ICMP -> en lo que vemos que corresponde al protocolo ICMP es los ping que se han hecho a un nodo.
Mediante ping comprobamos la correcta conectividad entre equipos. Observamos que en la columna de info pone
request y replay. La línea de request la enviamos desde nuestro nodo y replay es la contestación a nuestra trama.
Con este post, estoy dando inicio a lo que se podría llamar un tutorial sobre Wireshark, como he
comentado en otros posts, Wireshark es un analizador de protocolos open source y es una de mis
herramientas favoritas, que además es de suma utilidad para la resolución de problemas de redes.
Antes que nada, una palabra de advertencia, la captura de tráfico en una red puede ser ilegal, o
puede estar prohibida por las reglas de seguridad de la empresa, asi que antes de conectar un
analizador de tráfico a cualquier red, favor asegurarse que cuenta con el permiso respectivo y que
esta conciente de las implicaciones que puedan derivarse de esta actividad, para efectos de este
tuturial, lo mejor es establecer un laboratorio aislado sin conexión a la red de la empresa, o hacerlo
desde una red casera.
Una vez hecha la advertencia, el primer aspecto que me gustaría tratar, es sobre como capturar
tráfico, especificamente donde ubicar el wireshark para poder capturar el tráfico que se desea ver
en la red, para ello estaré haciendo referencia a la siguiente figura
Supongamos que queremos capturar (desde una laptop), el tráfico entre un servidor y la PC de un
usuario que esta experimientando problemas para acceder a dicho servidor. Lo más probable es que
esten conectados a través de un switch como se muestra en la figura 1a, si este es el caso, al
conectar la laptop, no podremos ver el tráfico entre la PC y el Servidor, unicamente será posible ver
el tráfico destinado a la laptop y tráfico de Broadcast, para sobreponernos a esto tenemos tres
opciones:
Opción 1 El switch es administrable: En este caso, consultar en la documentación del mismo, como
configurar un Port Mirroring, suponiendo que el Servidor esta ubicado en el puerto 1, la PC en el
puerto 2, y la laptop con wireshark en el puerto 3, debería configurarse el port mirroring para copiar
los puertos 1 y 2 en el puerto 3. Como configurar el port mirroring depende de cada fabricante, lo
ideal es consultar el manual del switch, o en la página web del fabricante, en el caso de Cisco, el
port mirroring se le denomina SPAN (Switch Port Analizer).
Opción 3 Utilizar un network tap: Esta pienso que es la poción ideal, un network tap, es un
dispositivo pasivo que se puede insertar en la red y permite ver el tráfico que esta pasando a través
de la misma, por ser un dispositivo pasivo no interfiere en ninguna manera en la configuración,
incluso en caso de falla del tap el tráfico sigue pasando por la red. Existen diferentes tipos de taps,
pero en esencia la función es la misma, permitirnos visibilidad del tráfico. Aunque esta es la opción
ideal, es probable que sea la más dificil de conseguir, sin embargo, si es posible, vale la pena
conseguir algunos taps y tenerlos a la mano para cuando se presenten esos problemas extraños en la
red, para aprender más sobre taps, y ver lo que es posible con estos, recomiendo visitar la página de
algunos fabricantes, normalmente se encontraran descritas las diferentes tecnologías de taps, y
como utilizarlos eficientemente, entre los fabricamentes de taps puede mencionar, Datacom
Systems, Netoptics, y Network Critical.
Estos son solo algunos de los escenarios, pero en general la idea es la misma, en un hub se puede
observar todo el tráfico de la red (sin embargo es muy poco comun hoy en día encontrar una red
basada unicamente en hubs), en un switch es necesario configurar port mirroring, y con un tap se
pueden establecer puntos de monitoreo permanentes.
En esta pequeña guía aprenderemos a capturar paquetes con Wireshark, un proceso bastante sencillo e
intuitivo. Lo primero, ejecutar el comando wireshark con lo cual aparecerá la interfaz gráfica.
Nota: Es necesario ejecutar Wireshark con privilegios de root, puesto que de lo contrario no podremos
configurar las interfaces de red.
Ahora mismo Wireshark está capturando todos los paquetes posibles de la interfaz de red seleccionada, y
guardándolos en el archivo que hayamos especificado (lo que nos permite analizarlo en cualquier momento,
reiteradamente, y con diversos programas). Aquí suelen surgir algunas preguntas:
1. Estás tratando de esnifar una red switcheada (que se conecta mediante un switch, y no un hub)
2. Estás conectado a un hub que está configurado como un switch (mismo caso de arriba)
3. No configuraste a Wireshark para que esnifara en modo promiscuo (Capture packets in promiscuous mode)
En caso tal que la conexión de tu red esté detrás de un switch, no es posible que veas los paquetes que
transmiten y reciben otros equipos. Esto no quiere decir que sea imposible hacerlo; lo más común a realizar
en estos casos es un ataque Man in the Middle a través de un ARP Poisoning. Estás técnicas son bastante
fáciles de realizar (además de divertidas), pero se salen del tema de esta entrada. En las próximas entradas
hablaremos al respecto.
Para esto es imprescindible el uso de los filtros, sobre todo cuando los paquetes capturados son demasiados.
Este tema lo trataremos en la próxima entrada.