Ntop: Una aplicación poderosa para el análisis de redes

Índice de Contenido
  1. Introducción
  2. El Entorno
  3. ¿Cómo Obtenerlo?
  4. En Acción
    1. 1. Obtén los paquetes/herramientas obligatorios
    2. 2. Construye las bibliotecas de gráficos
    3. 3. Construye ntop
  5. Almacenamiento de Datos con MySQL
  6. Poniendo los Datos de Ntop a Trabajar
  7. Una Herramienta Poderosa

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.

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.)

Cómo automatizar tareas repetitivas en Windows con el método SendKeys


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

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:

  1. ·        Instala y ejecuta MySQL
  2. ·        Ejecuta mysqladmin create NTOP
  3. ·        Ejecuta mysql NTOP < database/mySQLdefs.txt
  4. ·        Ejecuta perl database/mySQLserver.pl &
  5. ·        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:

Cómo utilizar Cacls.exe para asignar


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:

Domina el arte: Administra comparticiones de red en Windows NT con ShareUI


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

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:

Cómo solucionar errores de protección en Windows 98 y XP


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

La importancia del scripting en la administración de redes
Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 3 Newsmatic

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

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

Y esta llamada producirá los resultados que se muestran en la Figura F:


lynx http://localhost:3000/dumpTrafficData.html?language=perl

WinHex: una herramienta poderosa para edición
Ntop: Una aplicación poderosa para el análisis de redes - Microsoft | Imagen 6 Newsmatic

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

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.