Analyse de trames avec Wireshark

Qu’est ce que Wireshark ?

Wireshark est un outil permettant de capturer le trafic intéressant (entrant et sortant) depuis votre ordinateur. Grâce à des techniques de mirroring de ports sur les switchs et les routeurs (voir les articles associés dans la rubrique réseau du blog) vous pouvez également effectuer une copie du trafic réseau vers un ordinateur ayant ce logiciel.

 

Domaines d’action

 

  • Comprendre le comportement d’un échange client/serveur.
  • Comprendre comment est constitué un paquet.
  • Aider à la résolution de panne sur un réseau ou une application.
  • Détecter les potentielles failles sur votre réseau ou un trafic suspect.

 

C’est une liste non exhaustive bien sûr, les domaines d’action étant très larges.

 

Présentation de l’outil

 

Téléchargez l’outil à l’adresse suivante :

https://www.wireshark.org/

 

Une fois Wireshark installé lancez-le, puis choisir l’interface à capturer (pour moi « Connexion réseau sans fil ») :

 

Capture1

 

Pour lancer la capture, faire « Start ».

 

Capture2

 

L’interface est composée de trois zones, de haut en bas :

  • La liste des paquets capturés avec leurs numéros.
  • Une zone avec le détail du paquet sélectionné dans la liste (adresses ip source et destination, ports, segment, mac, champ dscp ….) .
  • Le contenu en hexadécimal du paquet en question (j’utilise très peu cette partie, accès indigeste je trouve).

 

Ajouter des colonnes supplémentaires

 

Si vous voulez personnaliser la première zone avec un champ spécifique pour votre recherche, Faire « Edit>Préférences » et aller dans la section « Columns » :

 

Capture3

 

Choisir dans la liste déroulante au niveau de « Properties » l’information que vous voulez ajouter (valeur DSCP de la trame, VLAN ID, date de la trame …), une fois appliqué vous verrez apparaître une nouvelle colonne dans la liste des paquets.

 

Les filtres

 

Vous avez la possibilité de filtrer après la capture pour trouver plus finement l’information voulue. Ce filtrage peut être également effectué pendant la capture mais je vous le déconseille pour éviter de passer à côté de trames intéressantes pour votre l’analyse.

Le filtrage se fait dans l’encadré au dessus de la liste des paquets. Si les arguments,valeurs et opérateurs sont mal renseignés (mauvaise syntaxe) l’encadré apparaît en rouge, par contre si il n y a aucune erreur il apparaît en vert :

filtrenok

Dans cet exemple l’opérateur « equal » n’existe pas sous wireshark, il faut mettre « eq » à la place (pensez à cliquer sur « expression » pour avoir la syntaxe exacte) :

filtreok

 

Filtrage par ip source ou destination

ip.src== 192.168.0.1 ou ip.src eq 192.168.0.1

ip.dst == 192.168.0.1 ou ip.dst eq 192.168.0.1

 

Filtrage par adressage ip

ip.addr == 192.168.0.0/24 ou ip.addr eq 192.168.0.0/24

 

Filtrage par port

tcp.port == 443 ou tcp.port eq 443

 

Filtrage multi-critères

ip.src eq 192.168.0.1 and tcp.port eq 443 (ici nous recherchons l’ip 192.168.0.1 établissant une connexion https)

 

Isoler une connexion TCP

 

Si vous voulez isoler une connexion TCP parmi toutes les lignes qui apparaissent, faîtes un clic-droit sur la ligne qui vous intéresse puis cliquez sur « Follow TCP Stream », ainsi seules les lignes liées à la même connexion TCP apparaitront.

 

Les statistiques

 

La rubrique « statistiques » vous permettra de créer des graphes sur la capture effectuée ou de donner un état des différentes requêtes http par exemple (comme ci-dessous) :

stats

Dans ce menu aller dans HTTP>Requests puis faire « Create Stat » (vous pouvez ajouter au préalable un filtre) :

stats2

 

Afficher les résolutions DNS

 

Si vous trouvez les adresses IP peut digestes (ça peut freiner des personnes) vous avez la possibilité d’activer la résolution des noms, pour cela aller dans Edit>Preferences>Name Resolution puis cochez « Resolve transport names » et « Resolve network addresses » et faire « Apply » :

dns

 

A vous de capturer maintenant !

Laisser un commentaire

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