diff --git a/Howtonfdump.md b/Howtonfdump.md index 9c85e724..de1f4241 100644 --- a/Howtonfdump.md +++ b/Howtonfdump.md @@ -1,49 +1,99 @@ -**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** +# Howto nfdump -# Howto !nfdump +* Documentation nfdump : +* Documentation NfSen : +* manpage nfdump(1) : -Documentation officielle : +**nfdump** est un outil pour gérer des données [Netflow](HowtoOpenBSD/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 +## Installation ~~~ # apt install nfdump + +$ nfdump -V +nfdump: Version: 1.6.13 ~~~ -## Collecter les flows +## nfcapd pour collecter les flows -Il faut au préalable avoir configuré l'export des flows sur vos routeurs et avoir un collecteur de flow en place. +Il faut au préalable [avoir configuré l'export des flows sur vos routeurs](HowtoOpenBSD/Netflow). -Un collecteur (nfcapd) est fourni avec nfdump. On peut le faire écouter de la façon suivante : +On peut ainsi lancer le démon **nfcapd** en configurant via `/etc/default/ndump` : ~~~ -nfcapd -w -D -p 9996 -B 200000 -S 1 -z -I routeur -l /opt/nflow/routeur +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 ~~~ -## Analyser les flows +## nfdump pour analyser les flows -Lister toutes les connexions vers le port 80 : +On peut utilise **nfdump** en ligne de commande : ~~~ -nfdump -M /opt/nflow/routeur -T -R 2016/09/07/nfcapd.201609070315:2016/09/07/nfcapd.201609070320 -o extended 'proto tcp and ( src port > 1024 and dst port 80 )' +$ nfdump -M /var/cache/dump [-R file1:file2] [FILTRE] [options] ~~~ +Options utiles pour **lister** les flows : -Lister toutes les connexions vers le port 80 de l'IP 1.2.3.4 : +* `-c N` : limite à N flows +* `-b` : agrège les flows aller/retour (bi-directional) +* `-A ` : agrège les flows, exemples : **-A proto,srcip,dstip**, **-A proto,srcip,dstport** +* `-t ` : 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 '` : limite à une adresse IP +* `'[src|dst] net '` : limite à un sous-réseau +* `'[src|dst] port '` : limite à un port + +> *Note* : ces filtres se combinent avec AND, OR et des parenthèses pour les priorités + +Quelques exemples utiles : ~~~ -nfdump -M /opt/nflow/routeur -T -R 2016/09/07/nfcapd.201609070315:2016/09/07/nfcapd.201609070320 -o extended 'proto tcp and host 1.2.3.4 and ( src port > 1024 and dst port 80 )' +## 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 ~~~ -Lister toutes les connexions vers le port 80 de l'IP 1.2.3.4 et aggréger sur l'IP source : +## NfSen -~~~ -nfdump -M /opt/nflow/routeur -T -R 2016/09/07/nfcapd.201609070315:2016/09/07/nfcapd.201609070320 'proto tcp and host 1.2.3.4 and ( src port > 1024 and dst port 80 )' -A srcip -~~~ - -Lister toutes les connexions vers le port 80 de l'IP 1.2.3.4 et faire une somme : - -~~~ -nfdump -M /opt/nflow/routeur -T -R 2016/09/07/nfcapd.201609070315:2016/09/07/nfcapd.201609070320 'proto tcp and host 1.2.3.4 and ( src port > 1024 and dst port 80 )' -s srcip -~~~ \ No newline at end of file +TODO \ No newline at end of file