Ver destacados

Cómo usar comando ngrep Linux

Tutorial para prender a usar comando ngrep en Linux y así visualizar lo que ocurre en la red.
Escrito por
10.3K Visitas  |  Publicado ago 15 2018 10:26
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Una de las mejores formas para conocer el estado de una infraestructura de IT es analizando su red, ya que por allí deben pasar cientos de procesos, servicios y elementos que permiten la óptima comunicación entre todos los equipos y usuarios de la red y así permitir que todo funcione de la forma esperada. Existen numerosas herramientas que nos ayudan a optimizar y supervisar todo lo que pasa en la red y esto es vital ya que podemos estar un paso delante de lo que sucede en el ambiente de red antes de que suceda y una de estas herramientas es ngrep.

 

Solvetic analizará cómo usar ngrep en Linux para obtener las mejores estadísticas de la red en Linux.

 

Qué es ngrep
Ngrep es una herramienta cuyo funcionamiento es similar a grep la cual se aplica en la capa de red y básicamente coincide con el tráfico que se genera a través de una interfaz de red. Ngrep funciona con diversos tipos de protocolos como IPv4 / 6, TCP, UDP, ICMPv4 / 6, IGMP y Raw en una serie de interfaces definidas y es compatible con la lógica de filtro BPF.

 

Al usar ngrep será posible especificar una expresión regular o hexadecimal extendida para que esta coincidia con las cargas útiles de datos del sistema.

 

Compatibilidad
Ngrep puede trabajar en los siguientes sistemas operativos:
  • Linux 2.0+ (RH6+, SuSE, TurboLinux, Debian, Gentoo, Ubuntu, Mandrake, Slackware)/x86, RedHat/alpha Cobalt, (Qube2) Linux/MIPS
  • Solaris 2.5.1, 2.6/SPARC, Solaris 7, Solaris 8/SPARC, Solaris 9/SPARC
  • FreeBSD 2.2.5, 3.1, 3.2, 3.4-RC, 3.4-RELEASE, 4.0, 5.0
  • OpenBSD 2.4, 2.9, 3.0, 3.1+
  • NetBSD 1.5/SPARC
  • Digital Unix V4.0D (OSF/1), Tru64 5.0, Tru64 5.1A
  • HPUX 11
  • IRIX
  • AIX 4.3.3.0/PowerPC
  • BeOS R5
  • Mac OS X 10+
  • GNU HURD
  • Windows 95, 98, NT, 2000, XP, 2003/x86, 7, 8, 8.1, 10

 

 

 


1. Instalar comando ngrep en Linux


Ngrep está disponible para su instalación desde los repositorios de sistema predeterminados en las distribuciones de Linux a través de la herramienta de administración de paquetes, para ello ejecutaremos el siguiente comando para su instalación en base a la distribución usada.

 

Ingresamos la letra S para confirmar la descarga e instalación del paquete ngrep. Después de que se complete la instalación de ngrep, será posible comenzar a analizar el tráfico de red en Linux y así acceder a información vital de este segmento.

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

 

 

 


2. Usar comando ngrep en Linux

 

Paso 1

Con el siguiente comando será posible coincidir todas las solicitudes de ping en la interfaz de trabajo por defecto del servidor, para ello, debemos abrir otra terminal y hacer ping a otra máquina remota. Después vamos a usar el parámetro -q el cual le indica a ngrep que función de forma silenciosa con el fin de no generar ninguna información que no sean encabezados de paquetes y las respectivas cargas, podemos ejecutar lo siguiente:
sudo ngrep -q “.” “tcp”

 

Paso 2

Para finalizar la captura de tráfico usamos las teclas siguientes:

 

 

Ctrl + C

 

 

Paso 3

Si deseamos coincidir solo el tráfico de un sitio de destino en particular, debemos ejecutar el siguiente comando y luego intentar acceder a dicho sitio desde un navegador:
sudo ngrep -q “.” “host google.com”

 

 

Paso 4

En caso de estar navegando en la web, podemos ejecutar el siguiente comando para controlar los archivos está solicitando el navegador usado:
sudo ngrep -q '^GET .* HTTP/1.[01]'

 

 

Paso 5

Para ver toda la actividad que se ejecuta en el puerto de origen o destino 25 (SMTP), vamos a ejecutar el siguiente comando:
sudo ngrep port 25

 

Paso 6

Si deseamos monitorear el tráfico syslog basado en red cuya coincidencia sea la palabra "error", usaremos el siguiente comando:
sudo ngrep -d any 'error' port 514
Paso 7

La utilidad ngrep puede convertir nombres de puerto de servicio almacenados en /etc/services, (en sistemas tipo Unix como Linux) a números de puerto. ngrep se puede ejecutar en un servidor HTTP (puerto 80), el cual coincidirá con todas las solicitudes al host de destino, para ello ejecutamos:
sudo ngrep port 80

 

Paso 8

En este resultado, todas las transmisiones de encabezados HTTP se muestran detalles de sangría, pero de esta forma su análisis es, para mejorar su administración podemos usar el modo byline -W así.
sudo ngrep -W byline port 80

 

 

Paso 9

Para imprimir los resultados con una marca de tiempo en formato AAAA / MM / DD HH: MM: SSUUUUUU al momento de combinar un paquete, será necesario usar el parámetro -t así:
sudo ngrep -t -W byline port 80

 

 

Paso 10

Si deseamos evitar que la interfaz sea supervisada en modo promiscuo, este modo intercepta y lee cada paquete de red que llega de forma total, será necesario agregar el indicador -p:
sudo ngrep -p -W byline port 80
Paso 11

Otra alternativa a usar es el parámetro -N el cual aplica caso de que detectemos protocolos sin procesar o desconocidos., este parámetro se encarga de indicarle a ngrep que muestre el número de sub-protocolo junto con el identificador de un solo caracter, para ello ejecutamos:
sudo ngrep -N -W byline

 

 

Paso 12

Finalmente, para obtener más ayuda de ngrep podemos ejecutar:
man ngrep
Así, la utilidad ngrep se convierte en una solución ideal para supervisar todo lo asociado a la red en ambientes Linux con resultados detallados y completos.

 

Te mostramos detalladamente cómo puedes monitorizar en ancho de banda de la red en Linux usando el comando iftop en tiempo real.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!