10 logiciels libres pour analyser son réseau

Nous allons dans ce billet étudier quelques outils réseaux open-source qui peuvent être utiles pour analyser un trafic sur un réseau IP (la liste est loin d'être exhaustive mais il est difficile de l'être vu le sujet). Cette analyse peut avoir pour but de caractériser un flux et notamment son débit, les délais de transit/gigue et les éventuelles corruptions de paquets.

Avant d'aller plus loin dans la description des ces outils, il est important de bien comprendre où l'analyse doit se faire. Les réseaux deviennent de plus en plus complexes et la détermination d'un point de capture cohérent est une première étape indispensable. En effet, si on se positionne à un endroit non approprié, on peut passer à coté de noeuds de congestions qui vont perturber les mesures.

Dans une architecture réseau classique composée d'un LAN (là ou se trouve vos postes clients), d'une liaison WAN (par exemple ADSL) et d'une plate-forme de service (là ou se trouve les serveurs, par exemple chez un hébergeur spécialisée), l'analyse peut se faire de deux manière différentes:

  • soit en extrémité de réseau,  en analysant le trafic en sortie du LAN (avant le goulot d'étranglement que représente la liaison WAN),
  • soit au coeur du réseau, en analysant avec des sondes le trafic sur toutes la chaine (en sortie du LAN et coté plate_forme de service). Plus le nombre de points d'analyses est important, plus l'analyse sera fine. Elle nécessite cependant l'installation de sondes sur des équipements que l'on n'administre pas forcement.

Analyse en extrémité de réseau

Nous avons vu que pour que cette méthode soit pertinente le choix du point d'analyse est important. Dans notre architecture, on peut soit la faire sur un PC mis en coupure entre le LAN et le routeur WAN (il faut que le PC soit configuré en mode bridge pour laisser passer tout les flux), soit directement sur le routeur si il tourne sur un système d'exploitation "libre" (GNU/Linux, BSD...).

tcpdump / wireshark / tshark

Ce sont des outils de capture et d'analyse d'une interface réseau. Le principe est simple: on lance le logiciel qui va capturer tout ce qui passe sur une interface (ou une sélection si on utilise un système de filtrage à la source). Ensuite, le résultat de la capture pourra être archivé (par exemple dans un fichier  de type libpcap) puis analysé.

tcpdump est la commande la plus standard que l'on peut trouver dans n'importe quel système d'exploitation digne de ce nom. Un tutoriel sur le sujet peut être trouvé ici.

WireShark (nouveau nom d'Ethereal) propose une interface graphique permettant de guider l'utilisateur dans les étapes de capture, filtrage et analyse. Issue d'une communauté très active, il propose également des plugins permettant d'analyser finement des flux spécifique (SIP / RTP / H.323 ...). On peut facilement avoir des rapports graphiques ou textuel (distribution IP, bande passante, couche protocolaire...). Un tutoriel sur ce logiciel est disponible ici.

Si on ne se trouve pas dans un environnement graphique, le projet Wireshark propose un outil en ligne de commande qui s'appelle tshark et qui permet d'avoir les mêmes fonctions que tcpdump avec une présentation légèrement différente. La documentation est disponible ici (promis je fais un billet sur le sujet quand j'ai un peu de temps)...

Quelques commandes pour capturer/filtrer un trafic réseau

Capturer tout le trafic transitant par l'interface eth0 (-i) et la sauvegarde (-w) dans le fichier /tmp/captureXX.cap. Il faut faire un CTRL-C pour arrêter la capture:

Analyse en temps réel des paquets SIP (il existe aussi des options pour RTP, SMB, H.225...) et affichage des statistiques en fin de capture (après le CTRL-C):

bmon / ifstat / vnstat / ntop / darkstat

Bmon est un logiciel permettant via un terminal texte (pas besoin d'interface graphique) de surveiller en temps réel le débit transitant sur ses interfaces réseaux. Une fois lancé, il suffit de se déplacer avec les touches haut et bas pour sélectionner l'interface à surveiller puis de cliquer sur les touche g et d pour afficher le graphique de charge et le détail. Un bon outil pour voir en un clin d'oeil le débit de ses liaisons Internet:

Dans le même genre, on peut également citer ifstat, il est assez basique mais efficace. Une fois lancé avec l'option (-b), il affiche toutes les interfaces (ou une interface sélectionnée avec l'option -i) et le débit instantané (avec 1 nouvelle ligne par seconde, ce temps étant paramétrable). Par exemple pour afficher le débit de l'interface eth0 toutes les 5 secondes en Kbps, il faut saisir la commande (ifstat -i eth0 -b 5):

Vnstat est également un outil permettant de surveiller la bande passante. En plus des fonctions de supervision temps réel que l'on peut trouver dans bmon et ifstat, il propose de stocker les informations dans une base de données, ce qui lui permet d'afficher des rapports et des graphes. Pour une description plus précise de Vnstat suivi d'une procédure d'installation et d'utilisation, vous pouvez lire ce billet.

NTop a été longtemps un logiciel que j'installai systématiquement sur mes routeurs IP (FreeBSD ou GNU/Linux). Malheureusement, des problèmes de performances et de sécurités m'ont fait petit à petit abandonner ce projet. Les dernières version (>3.0) semblent corriger ces défaut de jeunesse et NTop revient sur le devant de la scène avec des fonctionnalités sympathiques comme le fait d'intégrer un collecteur NetFlow. De plus la communauté Ntop semble très active, comme on peut le voir sur leur site et blog. Vous pouvez consulter ce (vieux) billet sur Ntop (j'en rédige un nouveau si il répond de nouveau à mes attentes).

Darkstat est le petit dernier, découvert grâce à un des blogs de Planet-Libre. Il permet comme Ntop d'accéder aux données récoltées par une interface Web. Il se focalise cependant sur les informations de type bande passante. Lors de mes tests sur une machien Ubuntu 9.10, j'ai constaté un accès trés lent à l'interface Web (sudo darkstat -i eth0 -p 666). A suivre donc.

Analyse en coeur de réseau

Dans ce chapitre, nous allons aborder de manière très superficielle (vous pouvez consulter ce billet sur Netflow pour un peu plus de détails). Le but est de réaliser des mesures sur plusieurs point de la chaine réseau. Pour cela on doit mettre en place des sondes sur les équipements. Ces sondes remontes les informations sur un collecteur. Afin on analyse les données collectées.

Netflow

Deux protocoles sont disponibles. Le plus connu est Netflow (de la société Cisco). Bien que propriétaire, il est devenu un standard sur le marché. Il a donc été repris (par rétro-ingénierie) et adapté à d'autres environnements dont GNU/Linux et BSD.

Un autre protocole compatible avec Netflow a vu le jour: IPFix de l'IETF. Il y a malheureusement peut de projet qui exploite ce protocole. On peut citer le projet Argus.

Sous GNU/Linux et BSD, j'utilise l'implémentation libre NFDump (disponible ici) qui permet de collecter les données et de les analyser, grâce à des scripts, en lignes de commandes. Il existe également des sondes Netflow libres: fProbe ou nProbe (ce dernier est payant, environ 99€, voir le site du projet).

NFdump

Pour revenir à Netflow, il permet de récupérer les mesures 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

Conclusion

Cette petite introduction à l'art de l'analyse réseau nous a permis de voir que les logiciels libres sont bien présents sur ce secteur. J'ai sûrement oublié pas mal d'outils que vous, lecteurs, utilisez tous les jours. Je vous propose donc de laisser un petit commentaire ci-dessous avec votre liste personnelle.

  • Pingback: Tweets that mention 10 logiciels libres pour analyser son réseau -- Topsy.com

  • http://blog.aldevar.fr Aldevar

    Sujet très intéressant qui semble faire le tour des utilitaires majeurs du monde du libre, dont certains que je ne connaissais pas. Merci

    • Porno Geant

      Pareil ! Très bon article, je vais tester de ce pas qquns de ces softs ! Encore merci !

  • Jayce

    Bonjour,
    Toujours aussi intéressant ce blog, d’autant que je suis à fond dans le netflow en ce moment.
    Je suis d’ailleurs en train d’expérimenter le plugin netflow sous Cacti… combiné avec les autres plugins que Cacti propose. Pour l’heure, le résultat est plutot mitigé.

    Bonne journée,

  • Pingback: Tutoriel : Une sonde netFlow sous FreeBSD at FreeBSD-fr: Les nouvelles du géant en français

  • StalkR

    Bonjour,
    Merci pour cette petite liste illustrée.
    Il existe aussi speedometer (http://excess.org/speedometer/), petit programme python permettant de voir la bande passante d’une ou plusieurs interfaces réseau, le tout en ligne de commande et en couleur ! Mais ce n’est pas uniquement pour les interfaces réseau, on peut par exemple lui dire donner un fichier en cours de transfert pour qu’il calcule et affiche la vitesse.
    @+

  • http://collilieux.net/blog Sylvain

    J’utilise également régulièrement iptraf qui permet d’avoir des stats sur une ou toutes les interfaces : débit temps réel plus ou moins détaillé par protocole, débit d’un connexion TCP, etc. L’interface ncruses est un peu oldschool mais reste très efficace.

  • http://www.geeek.org Ludovic Toinel
  • Pingback: Blogosphère - Revue des blogs #207 : Une liste de news très Geek ! - Flux rss Revue des blogs #207 : Une liste de news très Geek !

  • Pingback: Soutien à la Quadrature du Net / Frédéric fait un carton / logiciels libres dans l’enseignement / Ubuntu et logiciels propriétaires – Philippe Scoffoni

  • Pingback: Zapping de la semaine #10 | Sur le fil technologique

  • http://www.cablehdmi.net hdmi

    Merci pour cet article très interessant.

  • Pingback: En vrac #52

  • http://www.forex100.net forex

    Merci pour ces informations! c’est ce que je recherchais depuis un moment afin de finaliser mon dossier! merci!

  • http://youplaisir.com pono

    Merci pour cet article, perso j’ai opté pour Tshark je le trouve plus facile d’acces que les autres

  • http://www.tubeadulte.com jeandenis

    Merci pour ces informations! c’est ce que je recherchais depuis un moment afin de finaliser mon dossier! merci!

  • http://www.cheatic.com forex

    Je vois que vous êtes un expert dans votre domaine! Je lance un site Web rapidement, et vos informations seront très utiles pour moi .. Merci à tous pour votre aide et vous souhaite tout le succès dans votre entreprise.

  • http://www.olympine.com stars nues

    merci pour tout, ça va être bien utile pour mon lan

  • http://www.1video-porno.com video x

    Merci pour ces logiciels, j’en connaissais déjà quelques uns comme WireShark, mais pas les autres.

  • http://www.videos-tube.fr/streaming/ streaming adulte

    Merci pour les outils, car il y en a quelques que je ne connaissais pas du tout

  • http://www.zetub.com tube streaming

    Je viens de tomber sur cet article et c’est justement ce que je cherchais, merci. Idem j’ai une préférence pour Tshark sans connaitre vraiment les autres.

  • http://www.blackjackenligne.com Blackjack

    Merci il y en a que je ne connaissais pas !

  • http://www.optionbinaire.ch option binaire

    j’utilise ntop il est vraiment sympa cette outils

  • rpsoft

    Merci pour ces informations.
    Je suis un peu perdu dans toutes ces analyses et j’essaie d’analyser les coupures d’internet de mon provider avec l’heure de ces coupures.
    Quelqu’un pourrait-il m’indiquer le logiciel à utiliser ?
    Merci

    • sbixo

      Pour la supervision internet j’utilise Nagios, il capable de te donner l’heure exacte des coupures(graphe,Mail…). pour le tester d’une façon rapide je t’invite à utliser FAN.

  • http://www.linutop.com dg

    Site très complet et agréable à lire. Il m’a même apporté des complément d’information pour un client (je travail pour http://www.linutop.com, un mini PC qui est utilisé en sonde réseau)

  • mozesmvukulu

    je veut devenir hachers aide moi

    • pop

      LOL!

  • http://www.tnpascher2012.com tn pas cher

    our la supervision internet j’utilise Nagios, il capable de te donner l’heure exacte des coupures(graphe,Mail…). pour le tester d’une façon rapide je t’invite à utliser FANasfs

  • ThierryCT

    Merci pour cette synthèse d’outils, à conserver précieusement. J’y ajoute iperf pour les tests de performance/débit
    http://fr.wikipedia.org/wiki/Iperf

  • Tony

    Un outil qui fait des stats et des graphs selon le protocole, l’ip et la durée : http://bandwidthd.sourceforge.net/

  • http://hubertngwakoyo hubety

    je suis informaticien juste pour le recherche

  • willfayz

    J’aime beaucoup l’administration reseau donc je souhaite avoir des infos la dessus

  • http://www.69rueduq.com 69rueduq.com

    Je vais me pencher un peu sur la question

  • http://www.securactive.net Boris Rogier

    Bonjour,

    J’attire votre attention sur l’outil Performance Vision de SecurActive qui fournit des fonctionnalités très avancées d’analyse de trafic, de performance réseau avec des capacités d’historisation. Pour plus d’information : http://www.securactive.net.

    Veuillez noter qu’une version libre de notre sniffeur existe ; vous pouvez trouver plus d’information sur celle-ci, ici : https://github.com/securactive/junkie#readme

    Boris

  • BBay

    Merci pour cet article. Par contre je recherche un logiciel qui analyse le réseau et qui sait reconstruire les paquets. J’ai trouvé un petit logiciel qui s’appel NetResident qui fonctionne super bien mais qui coute 400€. Est ce que quelqu’un connait un équivalent en libre ou gratuit.

  • Pingback: SISR4 | Pearltrees

  • Pingback: 10 logiciels libres pour analyser son ré...