Monitorear tráfico de una red

Cada vez se vuelve más sencillo el poder hacer hack sobre las redes wifi y ahora cualquier hijo de vecino puede romper tu clave (si es WEP, quizá en dos minutos) de manera sencilla. Suge la pregunta de  ¿cómo saber si es necesario cambir la clave wifi? Se vuelve un proceso complejo si es que existen personas que utilizan la red y sus conocimientos de computación son demasiado básicos.

Para determinar si es necesario cambiar la clave se debe de tener dos cosas, la primera es identificar las IP’s que se conectan a la red local (basta con conectarse al home del modem) y un monitor de tráfico de red.

Para monitorear el tráfico de la red existe un excelente programa de opensource llamado ntop el cual monitorea en tiempo real el tráfico de la red usando la interfaz de red de la computadora dónde se instale, incluso existe un binario para windows, pero requiere de pago para el financiamiento del proyecto  (existen otros como wireshark, pero su uso es algo difícil).

Para linux, en mi caso openSUSE 12.3, existen dos formas de instalarlo:

  1. Instalarlo con los binarios listos, ya sea los que se encuentran en la misma página de ntop o los que se encuentran en los repositorios de la distribución.
  2. Hacer una compilación del código de ntop e instalarlo.

En ambas tiene algunos problemas; en la primera forma, los binarios manejan una versión atrasada del software, y en la segunda forma es el hecho de compilar el software (más cuando no se tiene experiencia haciendolo y se necesita levantar un servidor).

Colocaré mi experiencia con las dos formas de instalarlo.

Instalación con binarios precompilados

La instalación con binarios es sencilla, se descarga la versión 1-click del software y se espera hasta que el manejador de programas (en mi caso el fabuloso YaST) termine la instalación.

También se pude instalar desde los repositorios, para openSUSE:

sudo zypper update
sudo -i zypper install ntop

Y para ubuntu:

sudo apt-get update
sudo apt-get install ntop

Una vez instalado el software, se debe ejecutar por primera vez y en la cuál pedirá la clave del administrador.

sudo -i ntop

Es probable, que en este paso, surjan dos tipos de errores:

  1. **ERROR** ….open of /var/ntop/prefsCache.db failed: File open error
  2. **ERROR** RRD: Disabled – unable to create base directory (err 13, /var/lib/ntop/rrd)

Ambos se refieren a permisos en la instalación y a la forma en que esta formado el binario,  ya que a pesar de que se instaló de forma exitosa, no pudo generar los directorios necesarios. En el primer caso, no pudo generar la carpeta /var/nstop/ y en el segundo caso no pudo generar la carpeta /var/lib/ntop/rrd/

Para poder resolver estos errores, se tienen que hacer las carpetas de forma manual y hacer propietario al usuario “ntop”, para el primer caso se hace:

sudo -i mkdir /var/ntop
sudo chown -R ntop:nogroup /var/ntop

Y para el segundo, se hace algo similar:

sudo -i mkdir /var/lib/ntop/rrd
sudo chown -R ntop:nogroup /var/lib/ntop

Teniendo esto, comenzará a recolectar información.

ntop server

ntop server

Dentro de cualquier navegador colocamos la dirección 127.0.0.1:3000 y tenemos el monitoreo de la red.

Ntop web

Ntop web

Compilación de código

Para hacer esta instalación, primero tenemos que descargar la versión más reciente en sourceforge, guardarlo en una carpeta y descomprimirlo. Una vez hecho esto, se tiene que cambiar al directorio donde se encuentra la carpeta descomprimida.

cd topng-1.1_6932/
./configure      # Aquí indica que paquetes deben
# de instalarse para poder compilar,
# en mi caso fue: sudo zypper install libpcap-devel
make
make install

En este punto si se quie correr el programa, aparecerá el siguiente error:

Error en ntopng

Error en ntopng

Sucede esto debido a que ntopng necesita del servidor redis (base de datos) para poder ejecutarse, por lo que para instalarlo (en openSUSE) se tiene que hacer:

sudo zypper install redis

Teniendo esto listo basta con abrir dos consolas, una para el servidor redis y la otra para ntopng:

sudo -i redis-server      # en una consola
sudo -i ntopng              # en la otra consola

Ejecutando ntopng y redis

Ejecutando ntopng y redis

Se coloca en el navegador: 127.0.0.1:3000; para esta versión pedira un usuario y contraseña (admin, admin) para poder entrar.

Usuario y contraseña

Usuario y contraseña

verificación del tráfico con ntopng

verificación del tráfico con ntopng

Con esto ya se tiene listo el monitor. Cabe hacer algunas notas finales, este monitor se puede ejecutar desde un demonio de forma que se tenga este servicio siempre. En el caso de los binarios, este demonio ya esta instalado y basta con correr:

sudo -i /etc/init.d/ntop start

En el caso de la compilación se tiene que hacer primero el demonio para el servidor redis y un scrip para el ntopng 

Espero sea de utilidad, al menos para mi como referencia en un futuro.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s