Ngrep – Cómo Buscar Tráfico de red en Linux – Ejemplos de comandos

Ngrep

ngrep o grep de red es un programa de línea de comandos que se puede usar para analizar y buscar paquetes de red para un patrón o cadena de expresiones regulares dado.

ngrep utiliza la biblioteca pcap para capturar paquetes de red y la biblioteca de expresiones regulares de gnu para realizar búsquedas de expresiones regulares.

ngrep es como tcpdump + grep.

En este artículo veremos algunos ejemplos rápidos de cómo usar el comando ngrep para buscar paquetes de red.

Url del proyecto:

Instale ngrep en Ubuntu

$ sudo apt-get install ngrep

Ejemplos de comandos Ngrep

1. Capturar todos los paquetes

Ngrep sin ninguna opción simplemente capturaría todos los paquetes. Es bastante similar a tcpdump. Tenga en cuenta que necesita ejecutar ngrep con sudo (privilegios de root) para que pueda capturar todos los paquetes.

$ sudo ngrep

Truco para listar todos los dispositivos

Si desea listar todos los dispositivos de red en los que ngrep puede rastrear, use el siguiente comando y presione TAB varias veces

$ ngrep -d 

La salida se vería algo como esto:

$ ngrep -dany enp1s0 lo

2. Buscar tráfico de red para cadena

El siguiente ejemplo buscará tráfico de red para paquetes TCP que tengan un número de puerto 80 (HTTP) y contengan el texto «Agente de usuario: «. Esta cadena en particular está presente en los paquetes de solicitud http.

$ sudo ngrep -d enp1s0 -i "User-Agent: " tcp and port 80

Aquí hay una salida de muestra:

En el comando anterior :
a) tcp y puerto 80: es el filtro bpf (Filtro de paquetes Berkeley), que solo detecta paquetes TCP con el número de puerto 80
b) La opción»- d » especifica la interfaz a detectar. enp1s0 en este caso.
c) «User-Agent:» es la cadena a buscar. Se muestran todos los paquetes que tienen esa cadena.
d)» – i » Ignorar mayúsculas y minúsculas para el término de búsqueda o expresión regular

3. Buscar paquetes de red para solicitudes GET o POST

$ sudo ngrep -d enp1s0 -i "^GET |^POST " tcp and port 80

Aquí hay una salida de muestra

4. Capture y busque paquetes dns

El siguiente ejemplo filtra los paquetes UDP en el puerto 53. Estos son paquetes dns utilizados por las aplicaciones para resolver el nombre de host en direcciones ip.

$ sudo ngrep -d enp1s0 -i "" udp and port 53

Aquí hay una salida de ejemplo:

Ngrep en Windows

Instalar Ngrep en windows

La versión de Windows se puede descargar desde la siguiente url

La versión de Windows utiliza la biblioteca de captura de paquetes Winpcap. Por lo tanto, asegúrese de descargar e instalar winpcap primero antes de usar ngrep.

Ngrep funciona en Windows de la misma manera que linux/ubuntu.

Los ejemplos anteriores usaban cadenas de texto simples como término serch.
Sin embargo, ngrep también admite patrones de expresiones regulares.

Conclusión

Ngrep es de alguna manera similar a tcpdump y utiliza la misma biblioteca de captura de paquetes llamada libpcap. Estos rastreadores de paquetes son bastante útiles cuando está desarrollando aplicaciones de protocolo de red de bajo nivel y necesita ver si la aplicación está generando paquetes en el formato correcto.

Para obtener más información sobre Tcpdump, consulte esta publicación:
Tutorial de Tcpdump – Cómo Rastrear y Analizar paquetes desde la línea de comandos

Además de la programación de sockets, los rastreadores de paquetes también se utilizan en la seguridad y auditoría de redes. Se utilizan para monitorear una red en busca de tráfico inusual y detectar cualquier amenaza desde el principio.

Cuando se usa con herramientas de suplantación de arp como ettercap, ngrep se puede usar para rastrear los datos de otros hosts conectados a la red.

Deja una respuesta

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