12 analizadores de paquetes de red para administradores de sistemas y analistas de seguridad

Su red es la columna vertebral de sus operaciones comerciales. Asegúrate de saber lo que está pasando en su interior.

En muchos sentidos, el panorama de los negocios digitales ha visto una o dos revoluciones. Lo que comenzó como simple Guiones CGI escrito en Perl ahora ha florecido en implementaciones en clúster que se ejecutan completamente automatizadas en Kubernetes y otros marcos de orquestación (perdón por la jerga pesada: no me lo estoy inventando en absoluto; ¡así son las cosas en estos días!).

Una típica aplicación web moderna distribuida en contenedores (fuente: medium.com)

Pero no puedo evitar sonreír ante la idea de que los fundamentos siguen siendo los mismos que en la década de 1970.

Todo lo que tenemos son abstracciones sobre abstracciones soportadas por cables físicos duros que forman la red (está bien, hay redes virtuales que están bien, pero entiendes la idea). Si queremos ponernos sofisticados, podemos dividir la red en capas según el modelo OSI, pero todo dicho y hecho, siempre, siempre estamos lidiando con Protocolos TCP/IP (¡Advertencia, mucha lectura por delante!), pings, enrutadores, todos los cuales tienen un objetivo en común: la transmisión de paquetes de datos.

Entonces, ¿qué es un paquete de red?

No importa lo que estemos haciendo (chatear, transmitir videos, jugar, navegar, comprar cosas), es esencialmente un intercambio de paquetes de datos entre dos computadoras (redes). Un «paquete» es la unidad más pequeña de información que fluye en una red (o entre redes), y existe un método bien definido para construir y verificar paquetes de red (más allá del alcance de este artículo, pero si se siente aventurero, aquí tiene más).

Flujo de paquetes en una red (fuente: training.ukdw.ac.id)

En términos más simples, cada paquete representa un eslabón en la cadena y se transmite correctamente en el origen y se valida en el destino. Incluso si llega un solo paquete u orden, el proceso se suspende hasta que se hayan recibido todos los paquetes en el orden correcto, y solo entonces se juntan para formar los datos que representaron originalmente (una imagen, por ejemplo).

Ahora que entendemos qué es una red, se trata de entender qué hace un analizador de red. Es una herramienta que le permite echar un vistazo a los paquetes individuales en su red.

Pero ¿por qué querrías ir a ese problema? Vamos a discutir eso a continuación.

¿Por qué necesitamos analizar paquetes?

Parece que los paquetes son prácticamente los bloques de construcción básicos en un flujo de datos de red, al igual que los átomos son la base de toda la materia (sí, lo sé, estas no son partículas fundamentales verdaderas, pero es una analogía lo suficientemente buena para nuestros propósitos) . Y cuando se trata de analizar materiales o gases, nunca nos preocupamos por lo que está haciendo un átomo individual; Entonces, ¿por qué preocuparse por un solo paquete de red a nivel individual? ¿Qué podemos saber además de lo que ya sabemos?

Es difícil vender la importancia del análisis a nivel de paquete cuando no te han mordido la espalda antes, pero lo intentaré.

El análisis de paquetes significa ensuciarse las manos y llegar hasta las mismas tuberías para descubrir algo. Generalmente, necesita analizar los paquetes de red cuando todo lo demás ha fallado. Por lo general, esto incluye escenarios aparentemente desesperados de la siguiente manera:

  • Pérdida inexplicable de datos secretos a pesar de que no hay una violación evidente
  • Diagnosticar aplicaciones lentas cuando parece no haber evidencia alguna
  • Asegurarse de que su computadora/red no se haya visto comprometida
  • Probar o refutar que un atacante no es a cuestas fuera de tu wifi
  • Averiguar por qué su servidor es el cuello de botella a pesar del bajo tráfico

En general, el análisis de paquetes cae bajo ciertos tipos de pruebas sólidas. Si sabe cómo realizar un análisis de paquetes y tiene una instantánea, puede evitar que lo acusen erróneamente de un pirateo o que simplemente lo culpen como un desarrollador o administrador de red incompetente.

¡Se trata de los cerebros! (fuente: dailydot.com)

Con respecto a una historia real, creo que este comentario en la publicación del blog encontró aquí es excepcional (se reproduce aquí por si acaso):

Una aplicación fundamental para mi empresa presentaba problemas de rendimiento y se estaba cayendo de bruces en las implementaciones de los clientes. Era una aplicación de cotización de acciones que se utilizaba al frente de las plantas de teletipos en empresas financieras de todo el mundo. Si tenía un 401 (k) alrededor de 2000, probablemente dependía de esta aplicación. Hice un análisis del tipo que ha estado describiendo, específicamente el comportamiento de TCP. Señalé que el problema estaba en la implementación de TCP del proveedor del sistema operativo. El comportamiento defectuoso era que cada vez que la pila de envío entraba en control de congestión, nunca se recuperaba. Esto dio como resultado una ventana de envío cómicamente pequeña, a veces solo unos pocos múltiplos de MSS.

Me tomó un tiempo luchar con los administradores de cuentas y la gente de soporte para desarrolladores del proveedor del sistema operativo que no entendían el problema, mi explicación o que el problema *no* podía estar en la aplicación porque la aplicación ignoraba felizmente las maquinaciones de TCP. Era como hablarle a una pared. Comencé desde el principio con cada conferencia telefónica. Eventualmente hablé por teléfono con un chico con quien podría tener una buena conversación. ¡Resulta que puso las extensiones RFC1323 en la pila! Al día siguiente tenía en mis manos un parche para el sistema operativo y el producto funcionó perfectamente a partir de ese momento.

El desarrollador explicó que había un error que causaba que los ACK entrantes *con cargas útiles* se clasificaran erróneamente como DUPACK cuando la pila estaba en control de congestión.

Esto nunca sucedería con aplicaciones semidúplex como HTTP, pero la aplicación que admitía enviaba datos bidireccionalmente en el socket en todo momento.

No tenía mucho apoyo de la gerencia en ese momento (mi gerente incluso me gritó por «siempre querer usar un sniffer» para solucionar problemas), y nadie más que yo estaba mirando la implementación de TCP del proveedor del sistema operativo como la fuente del problema. Luchar contra la solución del proveedor del sistema operativo por mí mismo hizo que esta victoria fuera particularmente dulce, me hizo ganar una tonelada de capital para hacer lo mío y me llevó a que aparecieran los problemas más interesantes en mi escritorio.

En caso de que no tuviera ganas de leer ese trozo de texto, o si no tuviera mucho sentido, este caballero enfrentaba problemas de rendimiento que se atribuían a su aplicación y la administración, como era de esperar, no brindaba apoyo. . ¡Fue solo un análisis exhaustivo de paquetes que demostró que el problema no estaba en la aplicación, sino en cómo el sistema operativo estaba manejando el protocolo de red!

¡La solución no fue una puesta a punto en la aplicación, sino un parche de los desarrolladores del sistema operativo! 😮

Chico Oh chico . . . Sin el análisis a nivel de paquete, ¿dónde cree que estaría esta persona? Probablemente fuera de su trabajo. Si esto no lo convence de la importancia del análisis de paquetes (también llamado detección de paquetes), no sé qué lo hará. 🙂

Ahora que sabe que el análisis de paquetes es un superpoder, tengo buenas noticias: ¡no es tan difícil hacerlo!

Gracias a las potentes pero fáciles de usar herramientas de rastreo de paquetes, obtener información del análisis a nivel de paquetes puede ser tan fácil como leer un panel de ventas. Dicho esto, necesitará un poco más que un conocimiento superficial de lo que sucede dentro de una red. Pero, de nuevo, no hay ciencia espacial aquí, no hay lógica retorcida que dominar, solo sentido común.

Si comienza a leer la documentación de una de estas herramientas a medida que las usa en su red, muy pronto será un experto. 😀

Tiburón alambre

Tiburón alambre es un proyecto antiguo (comenzó en 1998) que es más o menos el estándar de la industria cuando se trata de profundizar en las redes. Es impresionante cuando consideras que es una organización puramente dirigida por voluntarios, respaldada por algunos patrocinadores generosos. Wireshark sigue siendo de código abierto (no en GitHub, pero el código se puede encontrar aquí) e incluso tiene una tecnología conferencia a su nombre!

Entre las muchas capacidades de Wireshark se encuentran:

  • Soporte para cientos de protocolos de red.
  • Interoperable con muchos formatos de archivo (tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer® (comprimido y sin comprimir), Sniffer® Pro y NetXray®, etc.).
  • Funciona en prácticamente todas las plataformas (Linux, Windows, macOS, Solaris, FreeBSD y más).
  • Lectura de datos en vivo desde Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB, Token Ring, entre otros.
  • Descompresión gzip sobre la marcha.
  • Se admiten muchos protocolos de descifrado (WPA/WPA2, SNMPv3, etc.)
  • Amplio análisis de VoIP
  • Reglas de colores para un escaneo visual más rápido

Echa un vistazo a este fantástico curso en línea para enseñarte a dominar Wireshark.

¿Buscas Wireshark en tu terminal? claro, prueba Tiburón de términos

volcado tcp

Si eres de la vieja escuela (lee adicto a la línea de comandos), volcado tcp es para ti.

Es otra de esas utilidades icónicas de Linux (como curl) que sigue siendo tan relevante como siempre, tanto que casi todas las demás herramientas «más sofisticadas» se basan en ella. Como dije antes, no hay un entorno gráfico, pero la herramienta lo compensa con creces.

Pero instalarlo puede ser un fastidio; mientras que tcpdump viene incluido con la mayoría de las distribuciones modernas de Linux, si la suya no lo hace, entonces tendrá que construir desde la fuente.

Los comandos tcpdump son breves y simples, destinados a resolver un problema particular como:

  • Visualización de todas las interfaces disponibles
  • Capturando sólo una de las interfaces
  • Guardar paquetes capturados en un archivo
  • Capturar solo paquetes fallidos

. . . y así.

Si sus necesidades son simples y necesita ejecutar un escaneo rápido, tcpdump puede ser una excelente opción a considerar (¡especialmente si escribe tcpdump y descubre que ya está instalado!). Consulte esta publicación para ver algunos ejemplos de comandos tcpdump en tiempo real.

Proxy

Proxy es una herramienta de línea de comandos simple, de código abierto, para conexiones TCP proxy a través de la red. Tproxy está escrito en el lenguaje de programación Go y es una herramienta de línea de comandos de Go, y está empaquetado como un binario de Go, por lo que está disponible en todas las plataformas modernas de Linux y macOS.

La imagen de abajo muestra la línea de comando para monitorear las conexiones Mysql:

Su caso de uso principal es hacer proxy de conexiones HTTP e inspeccionar el contenido de la solicitud HTTP y las respuestas. También se puede usar como proxy de otros protocolos, como SOCKS o TCP. Se puede utilizar para conexiones TCP proxy entre dos hosts o para analizar el tráfico en una conexión activa. Es útil para depurar y probar aplicaciones que utilizan TCP como protocolo de transporte y para crear servicios de proxy TCP.

Fue escrito con el objetivo de proporcionar una interfaz fácil de usar para la utilidad de línea de comandos tcpdump, lo que permite a los usuarios realizar conexiones TCP proxy y realizar otros análisis de red avanzados sin necesidad de comprender el protocolo TCP subyacente.

Debajo de la línea de comando se muestran las conexiones de gRPC:

Actúa como un proxy TCP, permitiéndole conectarse a aplicaciones y servicios remotos como si estuviera en la máquina local. Permite crear servicios TCP personalizados en hosts remotos, similar a un proxy TCP inverso que permite una variedad de mejoras de seguridad, resolución de problemas y rendimiento cuando se trata de aplicaciones que usan TCP.

A continuación se muestran algunos usos más de Tproxy

  • Es útil para depurar y optimizar conexiones TCP.
  • También es útil para comprender cómo funcionan otros programas proxy, como Burp Suite y ZAP.
  • Se puede utilizar para conexiones TCP proxy entre dos hosts, o entre un host y un servicio TCP remoto, como una base de datos o un servicio web.
  • Supervise las conexiones MySQL y las conexiones gRPC y también verifique la confiabilidad de la conexión en términos de tasa de retransmisión y RTT

La mayoría de los usuarios encontrarán que Tproxy simplifica su flujo de trabajo y les permite realizar análisis de red complejos y analizar aplicaciones web sin necesidad de modificar la aplicación o la red misma. La herramienta se puede descargar desde GitHub.

Minero de red

Promocionándose como una herramienta de análisis de redes forenses (FNAT), Minero de red es uno de los mejores analizadores de nivel de paquete que encontrará. Es una herramienta de código abierto que puede analizar una red de forma pasiva y viene con una impresionante interfaz gráfica de usuario para el análisis que puede mostrar imágenes individuales y otros archivos transferidos.

Pero eso no es todo. NetworkMiner viene con excelentes otras características como:

  • compatibilidad con IPv6
  • Análisis de archivos PCAP
  • Extraiga certificados X.509 del tráfico cifrado SSL
  • Pcap sobre IP
  • Funciona con varios tipos de tráfico, como FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3, etc.
  • huellas dactilares del sistema operativo
  • Localización geográfica de IP
  • Compatibilidad con scripts de línea de comandos

Tenga en cuenta que algunas de estas funciones están disponibles en la versión comercial.

Violinista

A diferencia de otros rastreadores de red pasivos, Violinista es algo que se encuentra entre su dispositivo y el mundo exterior y, por lo tanto, requiere alguna configuración (¿es por eso que lo llamaron «Fiddler»? 😉).

Es una herramienta gratuita personalizable (que usa FiddlerScript) que tiene una historia larga y distinguida, por lo que si su objetivo es rastrear el tráfico HTTP/HTTPS como un jefe, Fiddler es el camino a seguir.

Hay muchas cosas que puedes hacer con Fiddler, especialmente si estás de humor para ponerte la sudadera con capucha de hacker:

  • Manipulación de la sesión: rasgue los encabezados HTTP abiertos y los datos de la sesión, modificándolos de la forma que desee.
  • Pruebas de seguridad: le permite simular ataques de intermediarios y descifrar todo el tráfico HTTPS por usted.
  • Pruebas de rendimiento: analice los tiempos de carga de la página (o respuesta de la API) y vea qué parte de la respuesta es el cuello de botella.

En caso de que te sientas perdido, el documentación es muy bueno y es muy recomendable.

WinDump

Si echa de menos la sencillez de tcpdump y quiere llevarla a sus sistemas Windows, salude a WinDump. Una vez instalado, funciona desde la línea de comandos escribiendo «tcpdump» de la misma manera que funciona la utilidad en los sistemas Linux.

Tenga en cuenta que no hay nada que instalar per se; WinDump es un binario que se puede ejecutar de inmediato, siempre que tenga instalada una implementación de biblioteca Pcap (npcap se recomienda ya que winpcap ya no está en desarrollo).

Tiburón Bruto

Tiburón Bruto es una herramienta de análisis forense de red (NFAT) efectiva que puede usar para procesar e inspeccionar el tráfico de red, como archivos PCAP, y capturar directamente desde las interfaces de red.

Incluye la reconstrucción de sesiones TCP, la creación de mapas de red, la extracción de hashes de contraseñas fuertemente cifradas, la conversión de hashes a un formato Hashcat para realizar un ataque de fuerza bruta fuera de línea.

La intención principal detrás de este proyecto es ayudar a los administradores de red e investigadores de seguridad responsables de analizar el tráfico de la red e identificar las debilidades.

Hay dos versiones de BruteShark disponibles: una aplicación basada en la interfaz gráfica de usuario (GUI) para Windows y una herramienta CLI para Linux y Windows. Algunos de los proyectos incluidos en esta solución pueden incluso usarse de forma independiente para analizar el tráfico de red en máquinas Windows y Linux.

BruteShark también puede realizar varias operaciones, como extraer consultas DNS, tallar archivos, extraer llamadas VoIP (SIP, RTP), crear diagramas de red para usuarios y nodos de red, extraer hashes de autenticación mediante Hashcat (NTLM, HTTP-Digest, CRAM-MD5, Kerberos, etc.), y recuperar y codificar contraseñas y nombres de usuario.

Todos los proyectos se implementan a través de .Net Standard y .Net Core para soporte multiplataforma y moderno. Esta solución ofrece una arquitectura de tres capas e incluye uno o varios proyectos, incluidos PL, BLL y DAL en cada capa.

A través de DAL (capa de acceso a datos), el proyecto ayuda a leer archivos sin formato de PCAP utilizando controladores como WinPcap, libpcap y bibliotecas de contenedores como SharpPcap. De manera similar, BLL (Business Logic Layer) es responsable del análisis de la información de la red (TCP, paquetes, etc.), y PL utiliza un proyecto transversal y se refiere tanto a las capas BLL como a las DAL.

OmniPeek

Para redes más grandes que tienen toneladas de MB de datos que fluyen a través de ellas cada segundo, las herramientas que todos los demás usan pueden quedarse sin fuerza. Si te enfrentas a lo mismo, OmniPeek podría valer la pena echarle un vistazo.

Es una herramienta de rendimiento, análisis y análisis forense para analizar redes, especialmente cuando necesita capacidades de bajo nivel y paneles completos.

Fuente: sniffwifi.com

Capsa

Si lo único que le preocupa es la plataforma Windows, Capsa es también un contendiente serio. Viene en tres versiones: gratuita, estándar y empresarial, cada una con diferentes capacidades.

Dicho esto, incluso la versión gratuita admite más de 300 protocolos y tiene características interesantes como alertas (que se activan cuando se cumplen ciertas condiciones). La oferta estándar está un nivel por encima, admite más de 1000 protocolos y le permite analizar conversaciones y reconstruir flujos de paquetes.

Con todo, una opción sólida para los usuarios de Windows.

EtherApe

Si lo que busca son visualizaciones poderosas y código abierto, EtherApe es una gran opción Si bien los binarios precompilados están disponibles solo para un puñado de distribuciones de Linux, la fuente está disponible (tanto en SourceForge como en GitHub), por lo que crearlo por su cuenta es una opción.

Esto es lo que hace que EtherApe sea excelente en mi opinión:

  • Supervisión codificada por colores de múltiples nodos.
  • Soporte para una tonelada de formatos de paquetes como ETH_II, 802.2, 803.3, IP, IPv6, ARP, X25L3, REVARP, ATALK, AARP, IPX, VINES, TRAIN, LOOP, VLAN, etc. (en realidad, muchos, muchos, más) .
  • Lea datos en vivo del «cable» o de un archivo tcpdump.
  • Soporta resolución de nombres estándar
  • A partir de las últimas versiones, la GUI se ha movido a GTK3, lo que resulta en una experiencia más placentera.

Vista de comunicaciones

Si tiene una tienda exclusiva de Windows y valora la comodidad del soporte prioritario, Vista de comunicaciones es recomendado. Es un potente analizador de tráfico de red con características avanzadas como análisis de VoIP, seguimiento remoto, etc., integradas.

Lo que más me impresionó es su capacidad para exportar datos a formatos utilizados por varios formatos abiertos y propietarios, como Sniffer®, EtherPeek™, AiroPeek™, Observer®, NetMon, Wireshark/Tcpdump y Wireshark/pcapng, e incluso volcados hexadecimales simples. .

Explorador Wifi

El último en la lista es Explorador Wifi, que cuenta con una versión gratuita para Windows y una versión Estándar para Windows y macOS. Si el análisis de la red WiFi es todo lo que necesita (que es prácticamente el estándar en estos días), entonces Wifi Explorer le facilitará la vida.

Es una herramienta bellamente diseñada y rica en funciones para ir directamente al corazón de la red.

Mención de honor: sería un perjuicio cerrar esta publicación sin mencionar un analizador de red exclusivo de macOS con el que me topé: pequeño soplón. Tiene un firewall incorporado, por lo que viene con el beneficio adicional de permitirle controlar inmediatamente todo el tráfico a la perfección (lo que puede parecer una molestia, pero es una gran ganancia a largo plazo).

¿Que sigue?

También debe explorar este software de monitoreo de red para una mejor visibilidad de la infraestructura. Si está buscando desarrollar una carrera en redes y seguridad, consulte algunos de los mejores cursos en línea aquí.