Ngrep un analizador de paquetes de red que es similar al comando grep, pero ngrep grep el paquete en la capa de red. Esta herramienta mide el tráfico que va a entrar en la interfaz de red. ngrep nos permite especificar una expresión regular o hexadecimal extendida para compararla con las cargas de datos de los paquetes. ngrep puede funcionar en protocolos como IPv4/6, TCP, UDP, ICMPv4/6, IGMP y Raw en varias interfaces.
Instalación
Ahora veamos cómo instalar ngrep en Linux. El ngrep está disponible en la mayoría de los administradores de paquetes de Linux. Vamos a usar estos administradores de paquetes para instalar ngrep. Utilice uno de los siguientes comandos según su sistema operativo:
Para Debian/Ubuntu/Kali Linux:
sudo apt-get install ngrep
Para Arch Linux:
sudo pacman -S ngrep
Para Fedora:
dnf install ngrep
Uso
Después de instalar con éxito el ngrep, ahora veamos cómo usar el ngrep. Para monitorear todo el tráfico que se ejecuta en la interfaz de red predeterminada, solo use el comando ngrep
sudo ngrep
Para detener el ngrep use las teclas ctrl+C .
Filtrar paquetes basados en protocolos
Para mostrar información solo sobre el encabezado del paquete y la carga útil del paquete y evitar información inútil, use la opción -q con el comando ngrep. Vamos a utilizar esta opción en nuestros próximos comandos. Veamos cómo podemos filtrar los paquetes de un protocolo en particular usando el método ngrep. Tomemos un ejemplo, en este ejemplo, vamos a capturar todos los paquetes ICMP. Para usar el protocolo ICMP, enviaremos un ping a otro host y luego capturaremos todos los paquetes ICMP usando ngrep.
sudo ngrep -q '.' 'icmp'
Filtrar paquetes según el host
También podemos filtrar el paquete según el host, por ejemplo, capturemos los paquetes del host google.com:
sudo ngrep -q '.' 'host google.com'
Filtrar paquetes recibidos a través de navegadores
Para capturar todos los paquetes que estamos recibiendo mientras navegamos por internet a través de un navegador web, podemos usar el siguiente comando:
sudo ngrep -q '^GET .* HTTP/1.1
Filtrar paquetes que pasan por el puerto
Para monitorear el tráfico que pasa por el puerto del host de origen o destino, use la opción de puerto y mencione el número de puerto con el comando ngrep:
sudo ngrep port 443
Filtrar paquetes que contengan la palabra ‘error’
Para buscar la aparición de la palabra «error» en cualquier tráfico de Syslog basado en la red, use el siguiente comando:
sudo ngrep -d any 'error' port 514
Usar nombres de puerto de archivo/etc/servicios/ en lugar de puerto
La herramienta ngrep también puede convertir los nombres de los puertos de servicio almacenados en /etc/services al número de puerto, lo que significa que, en lugar de mencionar el número de puerto en el comando ngrep, podemos mencionar el nombre del puerto en el archivo /etc/services.
sudo ngrep -d any 'error' port syslog
Filtrar paquete en el puerto 80
Para capturar todo el tráfico que se ejecuta en el puerto número 80, podemos usar el siguiente comando:
sudo ngrep port 80
Obtenga paquetes de datos en un formato bien legible
En la salida anterior, podemos ver que los encabezados no están formateados, esto dificulta la lectura del encabezado. Para obtener el encabezado con un buen formato, use el siguiente comando:
sudo ngrep -W byline port 80
Obtener marca de tiempo con paquetes
Use la opción -t con el comando ngrep para obtener una marca de tiempo en AAAA/MM/DD HH:MM:SS.UUUUUU cada vez que un paquete coincida
sudo ngrep -t -W byline port 80
Evitar el modo promiscuo
Use la opción -p para evitar poner la interfaz en modo promiscuo
sudo ngrep -p -W byline port 80
Al observar protocolos sin procesar o desconocidos para mostrar números de subprotocolo junto con un identificador de un solo carácter, use la opción -N con el comando ngerp:
sudo ngrep -N -W byline man ngrep
Publicación traducida automáticamente
Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA