Tutorial en profundidad de Wireshark

Tutorial en profundidad de Wireshark
Wireshark es una herramienta de inspección de tráfico de red gratuita y de código abierto. Captura y muestra paquetes en tiempo real para el análisis fuera de línea en un formato legible por humanos con detalles microscópicos. Requiere algún conocimiento sólido de las redes básicas y se considera una herramienta esencial para administradores de sistemas y expertos en seguridad de la red.

Wireshark es la herramienta de facto de facto para varios problemas de red que varían de la resolución de problemas de la red, el examen de problemas de seguridad, el tráfico de red de una aplicación sospechosa, las implementaciones de protocolo de depuración, junto con los propósitos de aprendizaje de protocolo de red, etc.

El proyecto Wireshark se inició en 1998. Gracias a la contribución voluntaria del experto en redes globales, continúa realizando actualizaciones para nuevas tecnologías y estándares de cifrado. Por lo tanto, es, con mucho, una de las mejores herramientas de analizador de paquetes y es utilizada como una herramienta comercial estándar por varias agencias gubernamentales, institutos educativos y organizaciones sin fines de lucro.

La herramienta Wireshark está compuesta por un rico conjunto de características. Algunos de ellos son los siguientes:

  • Multiplataforma: está disponible para sistemas UNIX, Mac y Window.
  • Captura paquetes de varios medios de red, yo.mi., LAN inalámbrica, Ethernet, USB, Bluetooth, etc.
  • Abre archivos de paquetes capturados por otros programas como Oracle Snoop y Atmsnoop, NMAP, TCPDUMP, Microsoft Network Monitor, Snort y muchos otros.
  • Guarda y exporta datos de paquetes capturados en varios formatos (CSV, XML, texto sin formato, etc.).
  • Proporciona soporte de descripción para protocolos que incluyen SSL, WPA/WPA2, IPsec y muchos otros.
  • Incluye filtros de captura y pantalla.

Sin embargo, Wireshark no le advertirá sobre cualquier actividad maliciosa. Solo lo ayudará a inspeccionar e identificar lo que está sucediendo en su red. Además, solo analizará el protocolo/actividades de la red y no realizará ninguna otra actividad como enviar/interceptar paquetes.

Este artículo proporciona un tutorial en profundidad que comienza con lo básico (i.mi., Filtrado, capas de red de Wireshark, etc.) y lo lleva a la profundidad del análisis de tráfico.

Filtros de Wireshark

Wireshark viene con potentes motores de filtro, filtros de captura y filtros de visualización, para eliminar el ruido de la red o el tráfico ya capturado. Estos filtros reducen el tráfico no solicitado y muestran solo los paquetes que desea ver. Esta característica ayuda a los administradores de la red a solucionar los problemas en cuestión.

Antes de entrar en los detalles de los filtros. En caso de que se pregunte cómo capturar el tráfico de red sin ningún filtro, puede presionar CTRL+E o ir a la opción Captura en la interfaz de Wireshark y hacer clic en Iniciar.

Ahora, profundicemos en los filtros disponibles.

Filtro de captura

Wireshark proporciona soporte para reducir el tamaño de una captura de paquetes en bruto al permitirle usar un filtro de captura. Pero solo captura el tráfico de paquetes que coincide con el filtro y lo ignora el resto. Esta característica le ayuda a monitorear y analizar el tráfico de una aplicación específica utilizando la red.

No confunda este filtro con filtros de visualización. No es un filtro de visualización. Este filtro aparece en la ventana principal que se necesita para configurar antes de iniciar la captura de paquetes. Además, no puede modificar este filtro durante la captura.

Puedes ir al Captura opción de la interfaz y seleccione Filtros de captura.

Se le pedirá con una ventana, como se muestra en la instantánea. Puede elegir cualquier filtro de la lista de filtros o agregar/crear un nuevo filtro haciendo clic en el + botón.

Ejemplos de la lista de filtros de captura útiles:

  • host ip_address - captura el tráfico, solo entre la dirección IP de comunicación específica
  • net 192.168.0.24/04 - Captura el tráfico entre rangos de dirección IP/CIDRS
  • puerto 53 - captura el tráfico de DNS
  • TCP Petrange 2051-3502 - Captura el tráfico TCP desde el rango de puertos 2051-3502
  • puerto no 22 y no 21 - capturar todo el tráfico excepto SSH y FTP

Filtro de visualización

Los filtros de visualización le permiten ocultar algunos paquetes del tráfico de red ya capturado. Estos filtros se pueden agregar por encima de la lista capturada y se pueden modificar en la mosca. Ahora puede controlar y reducir los paquetes en los que desea concentrarse mientras oculta los paquetes innecesarios.

Puede agregar filtros en la barra de herramientas de filtro de visualización justo encima del primer panel que contiene información de paquetes. Este filtro se puede usar para mostrar paquetes basados ​​en el protocolo, la dirección IP de origen, la dirección IP de destino, los puertos, el valor y la información de los campos, la comparación entre campos y mucho más.

Así es! Puede construir una combinación de filtros utilizando operadores lógicos como ==.!=, ||, &&, etc.

A continuación se muestran algunos ejemplos de filtros de visualización de un solo protocolo TCP y un filtro de combinación:

Capas de red en Wireshark

Además de la inspección de paquetes, Wireshark presenta capas OSI que ayudan al proceso de solución de problemas. Wireshark muestra las capas en orden inverso, como:

  1. Capa fisica
  2. Capa de enlace de datos
  3. Capa de red
  4. Capa de transporte
  5. Capa de aplicación

Tenga en cuenta que Wireshark no siempre muestra la capa física. Ahora cavaremos en cada capa para comprender el aspecto importante del análisis de paquetes y lo que presenta cada capa en Wireshark.

Capa fisica

La capa física, como se muestra en la siguiente instantánea, presenta el resumen físico del marco, como la información de hardware. Como administrador de la red, generalmente no extrae información de esta capa.

Capa de enlace de datos

La siguiente capa de enlace de datos contiene la dirección de la tarjeta de red de origen y de destino. Es relativamente simple, ya que solo entrega el marco desde la computadora portátil hasta el enrutador o el siguiente marco adyacente en el medio físico.

Capa de red

La capa de red presenta las direcciones IP de origen y destino, la versión IP, la longitud del encabezado, la longitud total del paquete y la carga de otra información.

Capa de transporte

En esta capa, Wireshark muestra información sobre la capa de transporte, que consiste en el puerto SRC, el puerto DST, la longitud del encabezado y el número de secuencia que cambia para cada paquete.

Capa de aplicación

En la capa final, puede ver qué tipo de datos se están enviando a través del medio y qué aplicación se está utilizando, como FTP, HTTP, SSH, etc.

Análisis de tráfico

Análisis de tráfico de ICMP

ICMP se utiliza para informar y probar errores al determinar si los datos llegan al destino previsto a tiempo o no. Ping Utility utiliza mensajes ICMP para probar la velocidad de la conexión entre dispositivos e informar cuánto tiempo lleva el paquete para llegar a su destino y luego regrese.

El ping utiliza el mensaje ICMP_ECHO_REQUEST en el dispositivo en la red, y el dispositivo responde mediante el mensaje ICMP_ECHO_REPLY. Para capturar paquetes en el Wireshark, inicie la función de captura del Wireshark, abra el terminal y ejecute el siguiente comando:

ubuntu $ ubuntu: ~ $ ping google.comunicarse

Usar Ctrl+C Para terminar el proceso de captura de paquetes en Wireshark. En la instantánea a continuación, puede notar el Paquete ICMP enviado = paquete ICMP recibido con 0% de pérdida de paquetes.

En el panel de captura de Wireshark, seleccione el primer paquete ICMP_ECHO_REQUEST y observe los detalles abriendo el panel de Wireshark medio.

En la capa de red, puede notar la fuente SRC Como mi ip_address, mientras que el destino DST IP_Address es de Google Server, mientras que la capa IP menciona que el protocolo es ICMP.

Ahora, ampliamos los detalles del paquete ICMP al expandir el protocolo de mensajes de control de Internet y decodificar los cuadros resaltados en la instantánea a continuación:

  • Tipo: campo de 08 bits establecido en 8 medios Mensaje de solicitud de eco
  • Código: siempre cero para paquetes ICMP
  • Suma de verificación: 0x46c8
  • Número de identificador (BE): 19797
  • Número de identificador (LE): 21837
  • Número de secuencia (BE): 1
  • Número de secuencia (LE): 256

El identificador y los números de secuencia coinciden para ayudar a identificar las solicitudes de respuestas a eco. Del mismo modo, antes de la transmisión de paquetes, la suma de verificación se calcula y se agrega al campo que se comparará con la suma de verificación en el paquete de datos recibido.

Ahora, en el paquete de respuesta de ICMP, observe la capa IPv4. Las direcciones de origen y de destino se han cambiado.

En la capa ICMP, verifique y compare los siguientes campos importantes:

  • Tipo: campo de 08 bits establecido en 0 medios de respuesta de echo
  • Código: siempre 0 para paquetes ICMP
  • Suma de verificación: 0x46c8
  • Número de identificador (BE): 19797
  • Número de identificador (LE): 21837
  • Número de secuencia (BE): 1
  • Número de secuencia (LE): 256

Puede notar que la respuesta de ICMP se hace eco de la misma suma de verificación de solicitud, identificador y número de secuencia.

Análisis de tráfico HTTP

HTTP es un protocolo de capa de aplicación de transferencia de hipertexto. Es utilizado por la World Wide Web y define las reglas cuando el cliente/servidor HTTP transmite/recibe comandos HTTP. Los métodos HTTP más utilizados son y obtienen:

CORREO: Este método se utiliza para enviar información confidencial de forma segura al servidor que no aparece en la URL.

CONSEGUIR: Este método generalmente se usa para recuperar datos de la barra de direcciones de un servidor web.

Antes de profundizar en el análisis de paquetes HTTP, primero demostraremos brevemente el TCP de tres vías en Wireshark.

TCP de tres vías

En un apretón de manos de tres vías, el cliente inicia una conexión enviando un paquete SYN y recibiendo una respuesta SYN-Aack del servidor, que es reconocida por el cliente. Usaremos el comando NMAP TCP Connect Scan para ilustrar el apretón de manos TCP entre el cliente y el servidor.

Ubuntu $ ubuntu: ~ $ nmap -st Google.comunicarse

En el panel de captura de paquetes de Wireshark, desplácese hasta la parte superior de la ventana para notar varios pisos de tres vías establecidos en base a puertos particulares.

Utilizar el TCP.puerto == 80 Filtrar para ver si la conexión se establece a través del puerto 80. Puedes notar el completo a tres vías, yo.mi., Síntoma, Syn-contra, y Ack, resaltado en la parte superior de la instantánea, ilustrando una conexión confiable.

Análisis de paquetes HTTP

Para el análisis de paquetes HTTP, vaya a su navegador y pegue la URL de documentación de Wireshark: http: // www.Wafflemer.com y descarga la guía del usuario PDF. Mientras tanto, Wireshark debe estar capturando todos los paquetes.

Aplicar un filtro HTTP y buscar el Http get Solicitud enviada al servidor por el cliente. Para ver un paquete HTTP, seleccionarlo y expandir la capa de aplicación en el panel central. Puede haber muchos encabezados en una solicitud, dependiendo del sitio web y el navegador también. Analizaremos los encabezados presentes en nuestra solicitud en la instantánea a continuación.

  • Método de solicitud: El método de solicitud HTTP se obtiene
  • Anfitrión: identifica el nombre del servidor
  • Agente de usuario: informa sobre el tipo de navegador del lado del cliente
  • Aceptar, aceptar codificación, aceptar el idioma: informa al servidor sobre el tipo de archivo, la codificación aceptada en el lado del cliente, I.mi., GZIP, etc., y el idioma aceptado
  • Control de caché: muestra cómo se almacena la información solicitada
  • Pragma: Muestra el nombre y los valores de la cookie que el navegador posee para el sitio web
  • Conexión: encabezado que controla si la conexión permanece abierta después de la transacción

En el Http ok Paquete de servidor a cliente, observando la información en la capa de protocolo de transferencia de hipertexto muestra "200 OK". Esta información indica una transferencia exitosa normal. En el paquete HTTP OK, puede observar diferentes encabezados en comparación con el Http get paquete. Estos encabezados contienen información sobre el contenido solicitado.

  • Versión de respuesta: informa sobre la versión HTTP
  • Código de estado, frase de respuesta: enviado por el servidor
  • Fecha: el momento en que el servidor recibió el paquete HTTP
  • Servidor: Detalles del servidor (NGINX, Apache, etc.)
  • Tipo de contenido: Tipo de contenido (JSON, TXT/HTML, etc.)
  • Largancia de contenido: Longitud total del contenido; Nuestro archivo es 39696 bytes

En esta sección, ha aprendido cómo funciona HTTP y qué sucede cada vez que solicitamos contenido en la web.

Conclusión

Wireshark es la herramienta de análisis y análisis de redes más populares y potentes. Se usa ampliamente en tareas de análisis de paquetes diarios en varias organizaciones e institutos. En este artículo, hemos estudiado algunos temas de nivel inicial a medio de Wireshark en Ubuntu. Hemos aprendido el tipo de filtros ofrecidos por Wireshark para el análisis de paquetes. Hemos cubierto el modelo de capa de red en Wireshark y realizamos análisis de paquetes ICMP y HTTP en profundidad.

Sin embargo, aprender y comprender varios aspectos de esta herramienta es un viaje largo y duro. Por lo tanto, hay muchas otras conferencias y tutoriales en línea disponibles para ayudarlo en torno a temas específicos de Wireshark. Puede seguir la guía del usuario oficial disponible en el sitio web de Wireshark. Además, una vez que haya creado la comprensión básica del análisis de protocolo, también se recomienda utilizar una herramienta como Varonis que lo señala a la amenaza potencial y luego usa Wireshark para investigar para una mejor comprensión.