Graphique de flux réseaux avec Wireshark

I. Wireshark : outil de capture réseaux

Lorsque l'on parle d'outils de capture et d'étude de flux réseaux, Wireshark est probablement l’outil le plus connu et le plus utilisé, il contient en effet un nombre impressionnant de fonctionnalités et sait traiter la plupart des protocoles réseaux d'aujourd'hui ou d'hier (voir tous). Aujourd'hui, nous allons aborder une fonction bien spécifique de Wireshark qui est le tracer de graphique à partir des captures réseaux. Nous essaierons de faire le tour des possibilités de cette fonction et de voir à quoi elle peut nous servir.

Pour suivre cet article, il faut que vous ayez déjà une installation de Wireshark opérationnelle et que vous ayez une capture réseau à disposition (faite en direct ou via l'importation d'un fichier .pcap). Pour information, je travaille pour ce tutoriel sur Wireshark 1.12.2.

II. IO Graph Wireshark

Une fois la capture faite, l'utilisation de la fonction de IO Graph est très simple. Il suffit d'aller dans le menu "Statistics" puis "IO Graph" :

graphique wireshark iograph
Accès à l'IO Graph

Une nouvelle fenêtre va alors apparaître et le graphique de votre capture réseau va alors se dessiner (cela peut être instantané ou peut prendre quelques minutes selon la taille de votre capture et la puissance de votre poste) :

graphique wireshark
Aperçue d'un graphique de flux réseaux

III. IO Graph, Filtres et paramètres des axes X,Y

A partir de cette première courbe, on va pouvoir effectuer différentes actions dans le but de montrer uniquement ce qui nous intéresse. On va en effet pouvoir faire varier les données de temps et de mesure, les couleurs des données et surtout appliquer des filtres pour "trier" nos informations. Cela est particulièrement utile dans des contextes où l'on cherche par exemple à évaluer la quantité de flux réseaux entre deux machines ou sur un protocole précis.

En bas à droite de la fenêtre, on pourra voir le paramétrage des axe X (Horizontal) et Y (Vertical) :

graphique wireshark
Paramétrage des axes

Dans "X Axis", on pourra gérer la précision d'affichage de nos données en modifiant l’intervalle entre les points formant la courbe affichée et le nombre de pixel entre chaque point par "tranche" (c'est à dire entre deux barres de marquage) :

 

graphique wireshark
Vue rapprochée des points formants le graphique

On peut alors avoir un affichage extrêmement précis, comme c'est le cas ici, un intervalle entre deux points consécutif représente 0.001 seconde :

graphique wireshark
Affichage précis au millième de seconde

On pourra également retrouver un affichage en temps depuis le début de l'analyse ou alors afficher l'heure de la prise de capture en cochant/décochant "View as time of day".

Dans "Y Axis", on pourra gérer l'unité de l'axe vertical qui pourra être :

  • Packets/ticks : en nombre de paquets
  • Bytes/ticks : en octets
  • Bits/ticks : en bits
  • Advanced : permet d'effectuer des filtrages plus avancés

On pourra également gérer l'échelle. Cela permet en général sur un même graphique d'avoir une vue générale du graphique et également, si on le souhaite, une vue très précise sur des petites valeurs. Enfin, nous pourrons également gérer le lissage de façon plus ou moins forte :

graphique wireshark
Gestion du lissage des valeurs

On voit ici le lissage d'un même graph sur en M.avg 4 (gauche) et m.avg 32 (droite)

graphique wireshark
Vue d'un lissage faible et d'un lissage plus fort

Il est aussi possible de représenter les données selon plusieurs formes, on va par exemple pouvoir dessiner une courbes, n'afficher que les points, afficher un histogramme... Voici les différents exemples de représentation des données :

  • Line
  • FBar
  • Impulse
  • Dot
graphique wireshark
Un même enregistrement de flux réseau représenté différemment

On peut également selon les filtres (que nous allons voir juste après) mettre plusieurs représentations de graphique en même temps : graphique-wireshark-11

Gestion des filtres

Justement ! Passons à l'élément le plus intéressant : Les filtres

Les filtres sont une notion bien connue de ceux qui ont ne serait-ce que de toutes petites bases de Wireshark. Bien que leur syntaxe puissent être assez complexe (parfois), leur utilité est criante : réduire la montagne de paquets capturés par des filtres qui permettent de n'afficher que ce qui nous intéresse. Les filtres peuvent être utilisés dans les graphs de la même façon que dans l’utilisation "normale" de Wireshark. Voici par exemple le filtre que je vais utiliser si je souhaite avoir une courbe ne représentant que mon trafic HTTP :

graphique wireshark
Filtre sur le port 80 (HTTP) sur la courbe rouge

Si je souhaite maintenant également voir la consommation sur du protocole DNS sur mon flux capturé, je rajoute simplement "DNS" qui est un filtre existant pré-configuré dans Wireshark, dans "Graph 3" :

graphique iograph wireshark
Réduction de l'échelle pour apercevoir le trafic DNS

Je vois alors qu'il n'y a pas assez de trafic DNS pour que celui-ci soit visible, je passe alors la ligne "Graph 3" en "Dot" qui rend les captures plus visibles et je réduis l'échelle de l'Axe Y (c'est l'occasion de revoir ce qui a été vu plus haut dans le tutoriel 😉 ). Vous avez alors la vue avec l'échelle "Auto" à gauche et la vue avec l'échelle plus petite à droite, on voit alors directement l'intérêt de pouvoir régler l'échelle à certains moment.

Revenons  à nos filtres ! Admettons que je veuille maintenant savoir quel autre protocole UDP  que DNS a été capturé, je peux certes faire une règle du type "!dns", mais on pourrait également très bien mettre la règle "!tcp" dans le "Graph 4", on verra alors ce qui est UDP DNS et ce qui est UDP autre chose et faire une comparaison. Le Graph 4 sera affiché en bleu sous la forme d'un "Line" :

 

graphique wireshark
Ajout d'une règle sur tout ce qui n'est pas TCP dans une courbe bleu

Je vois alors instantanément que la quasi totalité de mes paquets UDP étaient du protocole DNS car chaque pique bleu est formé par un point vert, je peux également déterminer à tel instant (admettons à la seconde  20) combien le DNS a consommé de bande passante car j'ai réglé mon axe Y (verticale) sur "Byte/trick" (octets), en l’occurrence à la seconde 20, 2,5 ko (2500 octets).

Nous avons fait a peu près le tour de cette fonctionnalité très pratique de Wireshark ! Au travers différents exemples nous avons vu tout ce qui pouvait être réglé et paramétré pour faire nos graphiques bien que la seul véritable limite soit les nombreux contextes d'utilisation que l'on peut trouver à Wireshark, l'utilisation des filtres rend l'IO Graph utilisable pour tout ce qui peut être capturé dans Wireshark !

 

 

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    5 pensées sur “Graphique de flux réseaux avec Wireshark

    • Bonjour,
      J’ai vu passer ce lien dans mon flux LinkedIn et je découvre ce bon tuto sur Wireshark que j’utilise très régulièrement pour analyser du flux audio en ToIP. Je mets ce billets dans mes favoris et je me suis abonné au flux RSS pour ne pas rater les prochains articles. Merci pour le partage 😉
      A bientôt.

      Répondre
      • Merci de votre passage, je suis sur que beaucoup de nos sujets vous intéresserons 😉

        A bientôt ! 🙂

        Répondre
    • vraiment bien, merci pour l’article 🙂 on en veut bien un ou deux autres sur l’utilisation de wireshark 🙂
      je met votre site dans mes favoris 🙂

      bonne soirée
      RM

      Répondre
    • Bonjour tout le monde, je suis étudiant en licence 2 Sécurité de l’information au Sénégal. J’ai un projet d’un mois sur l’administration du sniffer Wireshark et je serai très ravi que vous me donniez un coup de main.

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.