NfDump es parte de las herramientas del colector de flujo Netflow, que incluye:
nfcapd, nfdump, nfreplay, nfexpire, nftest, nfgen
Estos ya están instalados en su instancia srv1, por lo que puede continuar directamente con el siguiente paso. Están instalados en un contenedor separado llamado “nfsen”.
$ incus shell nfsen
# systemctl stop nfsen
# mkdir /tmp/nfcap-test
# nfcapd -E -p 9996 -l /tmp/nfcap-test
… después de un tiempo, una serie de flujos deben ser mostrados en pantalla.
Detenga la herramienta con
$ ls -l /tmp/nfcap-test
Deberá ver uno o más archivos llamados nfcapd.<AÑO><MES><DÍA><HR><MIN>
Procesar el/los archivo(s) con nfdump:
nfdump -r /tmp/nfcap-test/nfcapd.20YYwwxxyyzz | less
nfdump -r /tmp/nfcap-test/nfcapd.20YYwwxxyyzz -s srcip/bytes
Debe obtener alguna información útil :)
NfSen se ha instalado y configurado para usted. Asegúrese de que todavía se encuentra dentro del contenedor nfsen. De lo contrario, inicie sesión en srv1 y escriba:
$ incus shell nfsen
#
Para iniciar NfSen:
# systemctl start nfsen
Puede encontrar la página de nfsen aquí:
http://srv1-campusY.ws.nsrc.org/nfsen/nfsen.php
Si está trabajando en parejas, entonces ambos deben apuntar su navegador web al PC que está recibiendo flujos.
Es posible que aparezca un mensaje como:
Frontend - Backend version mismatch!
Esto desaparecerá si vuelve a cargar la página, no es un problema.
¡Ya está! Continúe en el tercer laboratorio, ejercicio3-nfsen-top-talkers
Si tuvieras varios enrutadores en la red todos enviando los flujos al misma colector, puede o bien configurarlos para que envíen a diferentes puertos del colector, o le puede decir a NFSen la dirección IP de origen de cada router. esto permite a Nfsen mostrar datos diferentes de cada origen.
NO HACERLO AHORA!!! Ya que sólo tiene un único router, pero si lo necesitase, lo haría de la siguiente manera:
%sources = (
'bdr1_campusY' => { 'port' => '9996', 'col' => '#0000ff', 'type' => 'netflow' },
'core1_campusY' => { 'port' => '9997', 'col' => '#00ff00', 'type' => 'netflow' },
'transitN_nren' => { 'port' => '9998', 'col' => '#ff0000', 'type' => 'netflow' },
);
Usted tendrá que ejecutar esto cada vez que modifique /var/nfsen/etc/nfsen.conf:
$ sudo /etc/init.d/nfsen reconfig
Debería ver:
New sources to configure : core1-campusY transitN-nren
Continue? [y/n] y
Add source 'core1-campusY'
Add source 'transitN-nren'
Start/restart collector on port '9997' for (core1-campusY)[pid]
Start/restart collector on port '9998' for (transitN-nren)[pid]
Restart nfsend:[pid]
El resto de este documento es una referencia en caso de que desees instalar estas herramientas en casa.
Hay un paquete en Ubuntu, pero es demasiado viejo - por lo que vamos a instalar desde el código fuente. En primer lugar, compruebe que dispone de las herramientas y dependencias necesarias:
$ sudo apt-get update
$ sudo apt-get install build-essential autoconf libtool pkg-config
$ sudo apt-get install rrdtool librrds-perl librrdp-perl librrd-dev libbz2-dev \
libmailtools-perl libsocket6-perl apache2 libapache2-mod-php bison flex
Ahora proceda a descargar y construir nfdump. Tenga en cuenta que sólo el último paso (make install) tiene que hacerse como root.
$ cd
$ wget http://www.ws.nsrc.org/downloads/nfdump-1.7.4.tar.gz
$ tar xvzf nfdump-1.7.4.tar.gz
$ cd nfdump-1.7.4
$ ./configure --help # optional, shows the build settings available
$ ./configure --enable-nfprofile --enable-nftrack
$ make
$ sudo make install
$ mkdir /tmp/nfcap-test
$ nfcapd -E -p 9996 -l /tmp/nfcap-test
… después de un tiempo, una serie de flujos deben ser mostrados en pantalla.
Detenga la herramienta con
$ ls -l /tmp/nfcap-test
Deberá ver uno o más archivos llamados nfcapd.<AÑO><MES><DÍA><HR><MIN>
Procesar el/los archivo(s) con nfdump:
nfdump -r /tmp/nfcap-test/nfcapd.20YYwwxxyyzz | less
nfdump -r /tmp/nfcap-test/nfcapd.20YYwwxxyyzz -s srcip/bytes
Debe obtener alguna información útil :)
Descargar y compilar NfSen.
$ cd
$ wget http://www.ws.nsrc.org/downloads/nfsen-v.1.3.11.tar.gz
$ tar -xvzf v.1.3.11.tar.gz
$ cd nfsen-v.1.3.11/etc
$ cp nfsen-dist.conf nfsen.conf
$ editor nfsen.conf
Ajuste la variable $BASEDIR
$BASEDIR = "/var/nfsen";
Ajuste los usuarios adecuadamente para que Apache pueda acceder a los archivos:
$WWWUSER = 'www-data';
$WWWGROUP = 'www-data';
Ajuste el tamaño del búfer a algo pequeño y observara datos rápidamente. No se recomienda hacer esto en un sistema de producción.
# Receive buffer size for nfcapd - see man page nfcapd(1)
$BUFFLEN = 2000;
Encuentre la definición de fuentes (%sources), y cámbiela a:
%sources=(
'bdr1_campusY' => {'port'=>'9996','col'=>'#0000ff','type'=>'netflow'},
);
(Sustituir el router de su grupo para bdr1-campusY, y comente o elimine las fuentes existentes de muestra).
Finalmente cambie la variable $HTMLDIR de /var/www/nfsen/ a /var/www/html/nfsen/
$HTMLDIR = "/var/www/html/nfsen/";
Ahora, guarde y salga del archivo.
$ sudo useradd -d /var/nfsen -G www-data -m -s /bin/false netflow
Cambie de nuevo al directorio donde está el código fuente:
$ cd
$ cd nfsen-v.1.3.11
Ahora, finalmente, instalamos:
$ sudo perl install.pl etc/nfsen.conf
Presione ENTER cuando se le pida donde se encuentra Perl.
Con el fin de que nfsen se inicie y se detenga automáticamente cuando se inicie el sistema, se tiene que agregar un enlace al diretorio init.d apuntando al script de inicio de nfsen:
$ sudo ln -s /var/nfsen/bin/nfsen /etc/init.d/nfsen
$ sudo update-rc.d nfsen defaults 20