Ntop: Una aplicación poderosa para el análisis de redes
Introducción
Ntop es una aplicación interesante, disponible para plataformas UNIX y Windows. Muestra datos de redes en una interfaz interactiva, llamada intop, que imita el comportamiento del venerable programa top que la mayoría de los administradores de UNIX utilizan. Ntop también tiene una sofisticada interfaz web que proporciona información sobre el tráfico de red y estadísticas en varios formatos tabulares y gráficos. En este artículo, brindaré una visión general de la aplicación y mostraré ejemplos de su uso.
![Ntop: Una aplicación poderosa para el análisis de redes - Video](https://i.ytimg.com/vi/5aBJYJEexmM/hqdefault.jpg)
El Entorno
Ntop ejecuta su propio servidor web ligero y puede utilizar HTTPS, por lo que no es necesario ejecutar Apache u otro servidor web para aprovechar la interfaz gráfica. Además, se integra fácilmente con lenguajes de script como Perl y PHP. También puede almacenar datos persistentes de red en una base de datos, como MySQL, para su posterior análisis.
¿Cómo Obtenerlo?
Puedes obtener compilaciones binarias para varias plataformas UNIX, así como una versión de demostración limitada para Windows. Dado que el creador de Ntop debe adquirir copias con licencia de las herramientas de desarrollo para las plataformas Windows, solicita que hagas una donación para obtener una compilación binaria totalmente funcional o construirlo tú mismo desde el código fuente.
Dado su carácter de código abierto, Ntop sigue evolucionando. Hay una instantánea diaria del código fuente disponible en el sitio web de Ntop. Puedes descargar la compilación binaria de demostración de Windows desde otro sitio web. Ahora echemos un vistazo más de cerca a la compilación para UNIX.
En Acción
La compilación para UNIX es ligeramente diferente al procedimiento normal de "configure – make – make install" con el que puedes estar familiarizado, pero hay un archivo Leerme en ntop/docs/BUILD-NTOP.txt que describe el proceso:
1. Obtén los paquetes/herramientas obligatorios
- · gdbm http://www.gnu.org/
- · libpcap http://www.tcpdump.org/
2. Construye las bibliotecas de gráficos
- · cd gdchart0.94c/
- · ./configure
- · cd gd-1.8.3/libpng-1.0.8
- · cp scripts/makefile.[make your choice] Makefile
- · make
- · cd ../../zlib-1.1.3/
- · ./configure
- · make
- · cd ..
- · make
3. Construye ntop
- · cd ntop
- · ./configure
- · make
Para realizar una prueba antes de la instalación, simplemente ejecuta el programa desde el directorio de construcción. (Utilizo sudo, ya que el programa debe ejecutarse como root.)
![](https://newsmatic.com.ar/wp-content/uploads/automatizar-tareas-con-el-metodo-sendkeys-de-windows-script-host-imagen-2-150x150.webp)
bash-2.03$ sudo ./ntop -P /tmp
Password:
Wait please: ntop is coming up…
Verás una cantidad considerable de salida en pantalla, pero para ver los datos de forma presentable, abre tu navegador web y apunta a:
http://localhost:3000
La interfaz web de Ntop es autoexplicativa, con pestañas en la parte superior para seleccionar diversas pantallas. Una vez que selecciones una categoría, un marco en el lado izquierdo de la pantalla te permitirá profundizar y ver los datos en diferentes agrupaciones y formatos.
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 1 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 1 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-1.webp)
Almacenamiento de Datos con MySQL
Por defecto, Ntop almacena los datos en archivos de base de datos estándar dbm de GNU, en el directorio especificado con la bandera -P al lanzarlo. Alternativamente, puedes almacenar los datos en una base de datos MySQL utilizando el interruptor -b. Se incluye un esquema de muestra para configurar la base de datos MySQL, así como un pequeño script Perl para pasar los datos de Ntop a la base de datos. El proceso de integración con MySQL también está documentado en ntop/docs/database/README.mySQL:
- · Instala y ejecuta MySQL
- · Ejecuta mysqladmin create NTOP
- · Ejecuta mysql NTOP < database/mySQLdefs.txt
- · Ejecuta perl database/mySQLserver.pl &
- · Ejecuta ntop -w 3000 -i eth0 -b localhost:4000
El script mySQLserver.pl carga los datos en la base de datos de NTOP, donde se pueden leer y manipular, ya sea con la shell mysql, una interfaz gráfica de usuario o extraerlos mediante scripts. Necesitarás al menos los módulos DBI para Perl para interactuar con MySQL. La forma más sencilla de obtener e instalar módulos Perl, si tu distribución no los incluye, es utilizar CPAN:
![](https://newsmatic.com.ar/wp-content/uploads/ver-administrar-permisos-windows-cacls-imagen-1-150x150.webp)
perl -MCPAN -e shell
cpan> install DBI
cpan> quit
CPAN te guiará para instalar cualquier otro módulo necesario. Nuevamente, esto debe hacerse como root. La salida de Ntop ahora se verá algo así:
UPDATE IPtraffic SET TCPSentLocally = 0, TCPSentRemotely = 0, TCPrcvdLocally = 0, TCPrcvdFromRemote = 0, UDPSentLocally = 384, UDPSentRemotely = 0, UDPrcvdLocally = 358, UDPrcvdFromRemote = 0, ICMPsent = 0, ICMPrcvd = 0, OSPFsent = 0, OSPFrcvd = 0, IGMPsent = 0, IGMPrcvd = 0 WHERE IPaddress = ‘192.168.192.90’
La declaración UPDATE indica que se están actualizando los datos de tráfico de red en la base de datos MySQL. La base de datos MySQL es simple, con cinco tablas que contienen los datos, cuyo contenido es bastante obvio por los nombres:
bash-2.03$ mysql -p NTOP
Enter password:
mysql> show tables;
+—————-+
| Tables_in_NTOP |
+—————-+
| Hosts |
| IPtraffic |
| NameMapper |
| NonIPTraffic |
| TCPsessions |
+—————-+
5 rows in set (0.00 sec)
Para ver los datos dentro de MySQL, utiliza una instrucción SELECT, como:
![](https://newsmatic.com.ar/wp-content/uploads/domina-el-arte-administra-comparticiones-de-red-en-windows-nt-con-shareui-150x150.jpg)
mysql> SELECT * from Hosts;
Para utilizar solo la shell de Ntop, ejecuta intop:
bash-2.03$ sudo intop -i eth0
Password:
lt-intop@eth0> top
Esto te dará la conocida lista al estilo de UNIX de top, pero ahora estarás viendo el tráfico de red, como se muestra en la Figura B.
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 2 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 2 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-2.webp)
Eso es todo. Ingresar q saldrá de la lista de top, y quit abandonará la shell de Ntop. Hay varias opciones más que se pueden explorar, pero nuestro enfoque estará en aplicar algunos conceptos de scripting para utilizar los datos de Ntop.
Poniendo los Datos de Ntop a Trabajar
Veamos cómo recopilar un subconjunto de los datos de Ntop utilizando un script que se podría ejecutar desde cron y enviar al administrador por correo electrónico. El script dumpFlat.pl en ntop/www/Perl es un ejemplo simple de cómo utilizar la API de Perl para acceder a una sesión de Ntop en ejecución y realizar una descarga ASCII delimitada recta de los datos una vez por minuto. Al examinar el programa, puedes tener una buena idea de cómo interactuar con Ntop para tus propios fines:
![](https://newsmatic.com.ar/wp-content/uploads/como-solucionar-errores-de-proteccion-en-windows-98-y-xp-150x150.jpg)
use LWP::Simple;
$ntopHost = “localhost”;
$ntopPort = 3000;
$URL = “http://”.$ntopHost.”:”.$ntopPort.”/dumpData.html?language=perl”;
Las primeras líneas configuran el código, llamando al módulo libwww-perl y definiendo variables para el host y el puerto estándar de Ntop, que es 3000. Si no tienes libwww-perl, deberás instalarlo desde tu distribución o desde CPAN (LWP). La variable $URL define la llamada a Ntop, que puede comprender las siguientes llamadas:
http://<ntop host>:<ntop port>/dumpData.html?language=<perl|php>
http://<ntop host>:<ntop port>/dumpTrafficData.html?language=<perl|php>
Aquí tienes una descripción de estas llamadas:
- · El parámetro language= puede ser "PHP" o "Perl".
- · dumpData definirá el arreglo de hash %hash que contiene información sobre los hosts activos.
- · dumpTrafficData definirá el arreglo de hash %interfaces que contiene información sobre las interfaces de red activas.
Cualquiera de ellas devuelve un arreglo de datos, que luego se puede analizar y manipular según sea necesario. Si accedes a las URL anteriores sin la opción language=, los resultados no serán muy útiles. Por ejemplo, si usas la siguiente llamada, verás algo como la Figura C:
lynx http://localhost:3000/dumpData.html
![](https://newsmatic.com.ar/wp-content/uploads/la-importancia-del-scripting-en-la-administracion-de-redes-1-150x150.png)
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 3 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 3 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-3.webp)
Y esta llamada devolverá algo como lo que ves en la Figura D:
lynx http://localhost:3000/dumpTrafficData.html
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 4 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 4 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-4.webp)
Cuando usas la opción language=, verás algo más útil. Por ejemplo, la siguiente llamada producirá los resultados que se muestran en la Figura E:
lynx http://localhost:3000/dumpData.html?language=perl
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 5 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 5 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-5.webp)
Y esta llamada producirá los resultados que se muestran en la Figura F:
lynx http://localhost:3000/dumpTrafficData.html?language=perl
![](https://newsmatic.com.ar/wp-content/uploads/herramienta-poderosa-recuperacion-datos-forense-winhex-imagen-8-150x150.webp)
![Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 6 Newsmatic Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 6 Newsmatic](/wp-content/uploads/registro-analisis-redes-potente-ntop-imagen-6.webp)
En este punto, solo tienes que manipular el arreglo de hash y mostrar o registrar lo que necesites. Como ejemplo trivial, supongamos que queremos ver el tráfico "www" para nuestra red local. Obtenemos los datos, poblamos la tabla hash y luego formateamos/mostramos los datos para nuestra subred local. Si observas la matriz @flatkeys en el ejemplo de Listado A, verás las diversas claves en la tabla hash que se pueden utilizar para realizar búsquedas.
Podrías utilizar fácilmente este concepto y pasar $mynet y $protocol desde la línea de comandos, lo que te permitiría ver cualquier subred o protocolo. También podrías recopilar los datos por fecha, reiniciando Ntop todos los días y manteniendo un registro diario por máquina.
Una Herramienta Poderosa
Como puedes ver, Ntop es una herramienta potente y flexible. No solo hace mucho por sí misma, sino que al permitirte integrar el almacenamiento en bases de datos y una interfaz de scripting sencilla, también abre muchas posibilidades para proporcionar análisis de redes.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Microsoft, allí encontraras muchos artículos similares a Ntop: Una aplicación poderosa para el análisis de redes , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados