ngrep-Un Analizador de paquetes de red para Linux

Ngrep (network grep) es un analizador de paquetes de red simple pero potente. Es una herramienta similar a grep aplicada a la capa de red: coincide con el tráfico que pasa a través de una interfaz de red. Le permite especificar una expresión regular o hexadecimal extendida para que coincida con las cargas útiles de datos (la información o el mensaje reales en los datos transmitidos, pero no los metadatos generados automáticamente) de los paquetes.

Esta herramienta funciona con varios tipos de protocolos, incluidos IPv4 / 6, TCP, UDP, ICMPv4/6, IGMP, así como Raw en varias interfaces. Funciona de la misma manera que la herramienta de rastreo de paquetes tcpdump.

El paquete ngrep está disponible para instalar desde los repositorios de sistema predeterminados en distribuciones Linux convencionales utilizando la herramienta de administración de paquetes como se muestra.

$ sudo apt install ngrep$ sudo yum install ngrep$ sudo dnf install ngrep

Después de instalar ngrep, puede comenzar a analizar el tráfico en su red Linux utilizando los siguientes ejemplos.

1. El siguiente comando le ayudará a hacer coincidir todas las solicitudes de ping en la interfaz de trabajo predeterminada. Necesita abrir otro terminal e intentar hacer ping a otra máquina remota. La bandera -q le dice a ngrep que trabaje en silencio, que no emita ninguna información que no sea las cabeceras de paquetes y sus cargas útiles.

Puede pulsar Ctrl + C para terminarlo.

2. Para hacer coincidir solo el tráfico que va a un sitio de destino en particular, por ejemplo “google.com’, ejecute el siguiente comando y, a continuación, intente acceder a él desde un navegador.

3. Si está navegando por la web, ejecute el siguiente comando para supervisar los archivos que solicita su navegador:.

4. Para ver toda la actividad que cruza el puerto de origen o destino 25 (SMTP), ejecute el siguiente comando.

$ sudo ngrep port 25

5. Para cualquier monitor de red basado en tráfico syslog para la aparición de la palabra “error”, utilice el siguiente comando.

 $ sudo ngrep -d any 'error' port 514

Es importante destacar que esta herramienta puede convertir los nombres de puertos de servicio almacenados en “/ etc / services ” (en sistemas Unix como Linux) en números de puerto. Este comando es equivalente al comando anterior.

$ sudo ngrep -d any 'error' port syslog

6. También puede ejecutar ngrep contra un servidor HTTP (puerto 80), coincidirá todas las solicitudes con el host de destino como se muestra.

Como puede ver en la salida anterior, todas las transmisiones de encabezados HTTP se muestran en sus detalles sangrientos. Sin embargo, es difícil analizar, así que veamos qué sucede cuando aplicas el modo -W byline.

7. Para imprimir una marca de tiempo en forma de AAAA / MM / DD HH: MM: SS.UUUUUU cada vez que un paquete coincida, use la bandera-t.

8. Para evitar poner la interfaz monitoreada en modo promiscuo (donde intercepta y lee cada paquete de red que llega en su totalidad), agregue la bandera -p.

$ sudo ngrep -p -W byline port 80

9. Otra opción importante es -N, que es útil en caso de que esté observando protocolos sin procesar o desconocidos. Le dice a ngrep que muestre el número del sub-protocolo junto con el identificador de un solo carácter.

$ sudo ngrep -N -W byline

Para obtener más información, consulte la página de manual de ngrep.

$ man ngrep

repositorio de Github ngrep: https://github.com/jpr5/ngrep

Deja una respuesta

Tu dirección de correo electrónico no será publicada.