Wireshark
Last updated
Last updated
Wireshark es un analizador de paquetes de red gratuito y de código abierto que se utiliza para capturar y analizar el tráfico de red. Sus objetivos son múltiples pero sirve para realizar principalmente:
Diagnóstico de problemas de red: permite diagnosticar problemas de red, como conexiones lentas o caÃdas de paquetes.
AuditorÃa de seguridad: Wireshark se puede utilizar para realizar auditorÃas de seguridad de redes para identificar potenciales vulnerabilidades.
Aprendizaje de redes: Nos ayuda a entender cómo funcionan las redes y los protocolos de red.
Para poder usar y entender Wireshark es fundamental saber como funcionan los paquetes de la red. Los paquetes de una red funcionan con la estructura de una trama Ethernet un método estándar para poder enviar datos entre dispositivos. La estructura es la siguiente:
Preámbulo: El preámbulo es un patrón de 7 bytes de ceros y unos que se utiliza para sincronizar los dispositivos emisores y receptores.
Delimitador de inicio de trama (SFD): El SFD es un byte que indica el comienzo de la trama. El SFD tiene el valor 01010101.
Dirección de origen: La dirección de origen es la dirección MAC del dispositivo que envió la trama.
Dirección de destino: La dirección de destino es la dirección MAC del dispositivo al que se dirige la trama.
Tipo: El campo de tipos indica el tipo de trama. El campo de longitud tiene una longitud de 2 bytes y puede contener valores de 46 bytes a 1500 bytes.
Longitud: El campo de longitud indica la longitud de los datos de la trama.
Secuencia de verificación de trama (FCS): La FCS es un código de comprobación de redundancia cÃclica que se utiliza para detectar errores en la trama. El receptor calcula la FCS de los datos recibidos y la compara con la FCS incluida en la trama. Si ambas FCS no coinciden, se ha producido un error en la trama.
Ya sabiendo como funcionan los paquetes con la trama Ethernet podemos entender como funcionan las columnas de Wireshark. No son exactas pero si similares, vamos a verlas:
No. (Número de paquete) : Identifica cada paquete capturado. No tiene relación directa con la trama Ethernet, sino que es una referencia interna de Wireshark.
Time : El momento en que se capturó el paquete. Tampoco está directamente relacionado con la trama Ethernet.
Source (Dirección de origen) : Muestra la dirección origen del paquete, que a menudo es la dirección MAC de origen si el paquete está a nivel de Ethernet.
Destination (Dirección de destino) : Muestra la dirección de destino del paquete, que puede ser la dirección MAC de destino si el paquete está a nivel de Ethernet.
Protocolo : Indica el protocolo utilizado en la capa superior (por ejemplo, IPv4, ARP). Este campo deriva del campo "Tipo" de la trama Ethernet.
Length : Muestra la longitud total del paquete. Esto incluye la carga útil y puede estar relacionado con el campo "Longitud" de la trama Ethernet.
Info : Proporciona información adicional sobre el paquete, como el tipo de mensaje o los datos especÃficos del protocolo superior.
Para analizar los paquetes de una red con Wireshark solo tendremos que seleccionar una interfaz y Wireshark empezará a analizar los datos de esta red.
Como vemos nada mas selecionar y entrar en la interfaz nos salen muchos paquetes, para poder organizarnos mejor y poder controlar mejor utilizaremos los filtros:
Los filtros nos permite poder hacer filtros de paquetes y poder separarlos según protocolo, host, destino y muchas más opciones.
Una vez seleccionado un paquete podemos mirar los datos que contiene este paquete, antes cuando la seguridad era menor se podia ver en texto plano todos los mensajes, contraseñas y más. Ahora todos los paquetes están cifrados lo cual no podremos ver el contenido bien.
También con Wireshark podemos grabar los paquetes y guardarlo en un archivo .pcap para luego verlo o más.
Ahora vamos a hacer una prueba con google.com, para ello vamos a iniciar nuestro navegador y nuestro Wireshark. Una vez iniciamos el Wireshark y capturamos los paquetes y buscamos google.com y una vez buscado paramos el Wireshark.
Cuando lo finalizemos podremos ver que se han enviado y recibido 949 paquetes en total y si nos fijamos no todos están relacionados con la búsqueda de google.com. Para saber cuantos podemos poner de filtro google.com y solo tenemos 40 paquetes:
Ahora vamos a ver los 20 paquetes desde que hemos hecho la petición a google.com.
En los dos primeros podemos ver que solicita google.com al servidor DNS para resolver la IP. El siguiente paquete es la respuesta a los dos paquetes de DNS. Y los paquetes 7-14 establece una conexión TCP con el servidor google.com.
En resumen: Los paquetes muestran la resolución de DNS para google.com, el establecimiento de una conexión TCP y una comunicación UDP paralela.
Ahora vamos a ver el primer paquete que se envÃa, en el podemos ver que el puerto es el 38018 de la 172.16.137.137 y va al puerto 80 de la dirección 142.250.200.78. También vemos que el protocolo utilizado para la conexión es el TCP.