Auteur:


Date:
27/11/2009

Catégories:
Open-source
Reseau

Tags:





Analyse des flux Netflow sous GNU/Linux

Netflow est un protocole réseau créé par Cisco pour collecter des informations sur les flux IP. Nous allons dans ce billet voir comment configurer un routeur pour activer la sonde Netflow puis récupérer et analyser le résultat sur une machine GNU/Linux (Ubuntu 9.10, mais les outils sont disponibles sur l'ensemble des distributions).

L'architecture qui illustrera ce billet est la suivante:

Netflow

Le routeur Cisco (192.168.0.1): Netflow exporter sur le schéma.

  • interface FastEthernet 0/1 vers Internet
  • interface FastEthernet 0/0 vers le LAN on se trouve le PC sous GNU/Linux

Le PC sous GNU/Linux (192.168.0.100): Netflow collector + storage + analyser sur le schéma.

Remarque: il est également possible d'installer une sonde (fonction de type Netflow exporter) sur une machine de type GNU/Linux ou *BSD en utilisant le logiciel libre fprobe (ou fprobe-ng).

Configuration du routeur Cisco

Cette configuration est a adapter selon votre architecture (source Manage Engine):

Pour voir la liste des flux Netflow:

Enfin on vérifie que les paquets Netflow (UDP/9996) sont bien reçu sur le PC GNU/linux, pour cela on ouvre un terminal et on tape:

On doit voir des paquets arriver toutes les secondes.[/crayon]

Installation des outils d'analyse Netflow

Nous allons utiliser les outils de la suite NFDump. En plus d'être distribuée sous licence libre ("BSD license"), NFDump est disponible sous GNU/Linux et *BSD. Sur la distribution Ubuntu, l'installation est très simple car NFDump est disponble dans les dépôts:

Nous allons dans un premier temps créer un répertoire ou sera stocké les données (storage sur le schéma):

Attention: selon le débit de votre liaison et le nombre de flux, le volume des données peut vite devenir important.

Ensuite il faut lancer le collecteur Netflow (collector sur le schéma) grâce à la commande suivante:

Description des options:

  • -p fixe le port UDP d'écoute (9996 dans notre configuration du routeur Cisco)
  • -l fixe le répertoire ou les données seront stockées (emplacement du collector)
  • -w permet de s'assurer que la collecte sera faite toutes les n minutes (n=5 par défaut) avec des valeurs 0,5,10...
  • -D permet de demander à nfcapd de se lancer comme un daemon (en tache de fond)

Analyse des données Netflow

En ligne de commande

NFDump met a disposition un logiciel nommé nfdump. Ce dernier permet de lire les données stockées dans le collector et de les afficher de manière lisible.

Par exemple pour voir la liste complète des flux ayant transitée par le routeur depuis le lancement de la commande nfcapd avec un maximum de détail, il faut saisir la commande:

NFdump

On a alors pour chaque flux les informations suivantes:

  • Durée du flux
  • Protocole réseau (TCP/UDP/ICMP...)
  • Adresses source et destination
  • Ports source et destination
  • Flags TCP
  • Champs Tos (DSCP)
  • Nombre de paquets
  • Taille en octets
  • Nombre de paquets par seconde
  • Débit en bit par seconde
  • Taille en octets par paquets
  • Nombre de flux

On peut également demander la liste des TOP 10 en terme de flux:

Pour une liste exhausitve des capacité d'affichage de nfdump, je vous redirige vers la page suivante.

Par une interface Web

Dans sa grande bonté, NfDump propose également une interface Web complète pour analyser et mettre en forme des rapports. C'est un projet à part qui s'appelle NfSen.

Voici un screenshot:

nfsen

J'ai écrit un billet sur le sujet: à lire ici.

  • http://www.boreally.org Wallace

    Très bien fait! Je pense en avoir un jour besoin alors je garde le billet sous le coude.

  • JuJu

    Personnellement ça m’intéresse le détail de l’installation de NfSen :)

  • http://www.electronews.fr electro

    Merci pour ce tuto trés bien fait :D

  • PRAT

    Merci, et ça m’intéresse aussi le détail de l’installation de NfSen.
    C’est même urgent ^^
    Merci encore

  • http://blog.nicolargo.com NicoLargo
  • http://www.fluxreader.eu reader

    merci pour se post cela et interessant

  • http://www.net-voyance.fr Sybile

    Un grand merci à vous car dorénavant tout est plus clair pour moi.
    Merci

  • http://www.maiscomment.com Sarah

    Beau travail, merci

  • alpha041

    Salut, je me suis servi de ce tuto pour installer nfdump et nfsen. Mais je me pose une question : J’ai dans mon routeur 3 interfaces une qui est connecté a internet, une autre connecté a un vpn (pour des agences distantes) et une troisième au réseau local dans lequel je me trouve. Sur quelles interfaces dois je activer netflow ? Merci d’avance

  • tafa

    c’est bien fait votre projet mais si vous pouvez nous guider un peu sur l’outil qu’on doit installer sur la machine GNU/Linux comme par-exemple *BSD

  • robi

    Hello,
    Est-ce que quelqu’un a déjà testé znets (www.znets.net)? A priori, ça semble tout faire… en 2 clics ! Merci

  • Mini

    Merci Nicolargo pour toute les idées de supervision réseau !!!

    Bon gros bug chez moi j’essaye de configurer nfsen, mais j’ai déja le probleme de nfdump.
    J’ai bien des paquet sflow qui partent du switch, vers mon server, mais nfcapd ne prend que des paquets de taille 276 !!! et vide…. avez vous une idée ?