4.5 KiB
title |
---|
Howto nfdump |
- Documentation nfdump : http://nfdump.sourceforge.net/
- Documentation NfSen : http://nfsen.sourceforge.net/
- manpage nfdump(1) : https://manpages.debian.org/jessie-backports/nfdump/nfdump.1.html
nfdump est un outil pour gérer des données Netflow. On l'associe en général à nfcapd un démon chargé de collecter les Netflow et parfois à NfSen qui permet une utilisation via une interface web.
Installation
# apt install nfdump
$ nfdump -V
nfdump: Version: 1.6.13
nfcapd pour collecter les flows
Il faut au préalable avoir configuré l'export des flows sur vos routeurs.
On peut ainsi lancer le démon nfcapd en configurant via /etc/default/ndump
:
nfcapd_start=yes
Par défaut, il écoute en UDP/9995 et stocke les données Netflow dans /var/cache/nfdump
On peut bien sûr configurer d'autres options, exemple d'une façon de le lancer :
$ nfcapd -w -D -p 9996 -u foo -g www-data -B 200000 -S 1 -P /var/run/nfcapd-p9996.pid -z -I routeur -l /srv/nfdump/routeur
nfdump pour analyser les flows
On peut utilise nfdump en ligne de commande :
$ nfdump -M /var/cache/dump [-R file1:file2] [FILTRE] [options]
Options utiles pour lister les flows :
-c N
: limite à N flows-b
: agrège les flows aller/retour (bi-directional)-A <LISTE>
: agrège les flows, exemples : -A proto,srcip,dstip, -A proto,srcip,dstport-t <intervalle>
: limite à un intervalle précis, exemple -t 2011/03/26.22:35:10-2011/03/26.22:36:03
Options utiles pour trier les flows :
-s ip/flows -n 10
: top 10 des adresses IP qui sont concernés par le + de flows-s ip/packets -n 10
: top 10 des adresses IP qui sont concernés par le + de paquets-s ip/bytes -n 10
: top 10 des adresses IP qui sont concernés par le + d'octets
Note
: on peut remplacer
ip
par srcip,dstip,port,srcport,dstport…
Filtres tcpdump que l'on peut ajouter pour limiter les flows listés/triés :
'proto tcp'
: limite au protocole TCP'[src|dst] host <IP>'
: limite à une adresse IP'[src|dst] net <net>'
: limite à un sous-réseau'[src|dst] port <port>'
: limite à un port
Note
: ces filtres se combinent avec AND, OR et des parenthèses pour les priorités
Quelques exemples utiles :
## Lister tous les flows
# nfdump -M /var/cache/nfdump -R .
## Lister tous les flows issus de plusieurs répertoires
# nfdump -M /srv/nfdump/routeur1:routeur2:routeur3 -R .
## Lister les flows d'une date à une autre
# nfdump -M /var/cache/nfdump -R 2017/02/21/nfcapd.201702211030:2017/03/10/nfcapd.201703101030
## Lister les flows concernant l'UDP et l'IP 8.8.8.8 avec agrégation bi-directionnel
# nfdump -M /var/cache/nfdump -R . 'proto udp and host 8.8.8.8' -b
## Lister les flows en agrégeant par proto,srcip,dstip,dstport :
# nfdump -M /var/cache/nfdump -R . -A proto,srcip,dstip,dstport
## top 10 des ports utilisés entre deux machines
# nfdump -M /var/cache/nfdump -R . 'host 192.0.2.1 and 192.0.2.1' -s port -n 10
## top 10 des IPs source avec le plus de trafic
# nfdump -M /var/cache/nfdump -R . -s srcip/bytes -n 10
## top 10 des IPs ayant générés le plus de flow vers TCP/80 d'une machine
# nfdump -M /var/cache/nfdump -R . 'proto tcp and dst host 192.0.2.1 and dst port 80' -s srcip/flows
NfSen
NfSen est un outil pour gérer les Netflow via une interface web, il permet notamment :
- de lancer plusieurs nfcapd pour collecter les Netflow de plusieurs routeurs
- de lancer la commande nfdump avec des options de manière « graphique »
- d'avoir des graphes par flows/paquets/octets par seconde avec des filtres tcpdump
- de créer des alertes en fonction de seuils / filtres tcpdump
Installation NfSen
On installe NfSen et nfdump à partir des sources :
# perl -MCPAN -e 'install Socket6'
$ wget https://sourceforge.net/projects/nfdump/files/stable/nfdump-1.6.13/nfdump-1.6.13.tar.gz/download
$ tar zxvf nfdump-1.6.13.tar.gz
$ cd nfdump-1.6.13
$ ./configure --enable-nfprofile --enable-nftrack
$ make
# make install
$ wget https://sourceforge.net/projects/nfsen/files/stable/nfsen-1.3.8/nfsen-1.3.8.tar.gz/download
$ tar zxvf nfsen-1.3.8.tar.gz
$ cd ./nfsen-1.3.8
# cp etc/nfsen-dist.conf /etc/nfsen.conf
# vim /etc/nfsen.conf
# mkdir -p /opt/nfsen/data/nfsen
# mkdir -p /opt/nfsen/www
# adduser nfsen
# adduser nfsen www-data
# chown -R nfsen:www-data /opt/nfsen
# ./install.pl /etc/nfsen.conf
# cd /opt/nfsen/data/nfsen/bin/
#./nfsen start