5.3.7 – Travaux Pratiques – Présentation de Wireshark

Mis à jour le 07/07/2023

5.3.7 – Travaux Pratiques – Présentation de Wireshark

Remarque à l’intention de l’instructeur : la couleur de police rouge ou les surlignages gris indiquent que le texte n’apparaît que dans la copie de l’instructeur.

Topologie de Mininet

Objectifs

Partie 1 : Installer et vérifier la topologie Mininet

Partie 2 : Capturer et analyser les données ICMP avec Wireshark

Contexte/scénario

La machine virtuelle CyberOps inclut un script Python qui, lorsque vous l’exécutez, installe et configure les périphériques illustrés dans la figure ci-dessus. Vous aurez ainsi accès à quatre hôtes, un commutateur et un routeur sur votre machine virtuelle. Vous pourrez simuler différents services et protocoles réseau sans avoir à configurer un réseau de périphériques physique. Par exemple, au cours de ces travaux pratiques, vous utiliserez la commande ping entre deux hôtes de la topologie Mininet et capturerez ces requêtes ping à l’aide de Wireshark.

Wireshark est un analyseur de protocoles (analyseur de paquets) utilisé pour dépanner les réseaux, effectuer des analyses, développer des logiciels et des protocoles et s’informer. L’analyseur « capture » chaque unité de données de protocole (PDU) des flux de données circulant sur le réseau. Il permet de décoder et d’analyser leur contenu conformément aux spécifications RFC ou autres appropriées.

Wireshark est un outil utile pour tous ceux qui souhaitent dépanner des réseaux ou analyser leurs données. Vous utiliserez Wireshark pour capturer des paquets de données ICMP.

Ressources requises

  • Poste de travail CyberOps VM

Note à l’instructeur : l’utilisation d’un renifleur de paquets, tel que Wireshark, peut être considérée comme une violation de la politique de sécurité de l’école. Il est recommandé d’obtenir l’autorisation avant d’exécuter Wireshark pour ce laboratoire. Si l’utilisation d’un renifleur de paquets, tel que Wireshark, est un problème, l’instructeur peut souhaiter assigner le laboratoire comme devoir ou effectuer une démonstration pas à pas.

Instructions

Partie 1 : Installer et vérifier la topologie Mininet

Dans cette partie, vous utiliserez un script Python pour configurer la topologie Mininet sur la machine virtuelle CyberOps. Vous enregistrerez ensuite les adresses IP et MAC pour H1 et H2.

Étape 1: Vérifiez les adresses d’interface de votre ordinateur.

Démarrez et connectez-vous au poste de travail CyberOps que vous avez installé au cours d’un TP précédent en utilisant les informations d’identification suivantes :

Nom d’utilisateur : analyst          Mot de passe : cyberops

Étape 2: Exécutez le script Python pour installer la topologie Mininet.

Ouvrez un émulateur de terminal pour lancer Mininet et saisissez la commande suivante à l’invite. Lorsque le système vous y invite, saisissez le mot de passe cyberops.

[analyst@secOps ~]$ sudo ~/lab.support.files/scripts/cyberops_topo.py
[sudo] password for analyst:

Étape 3: Enregistrez les adresses IP et MAC pour H1 et H2.

a. À l’invite mininet, démarrez les fenêtres du terminal sur les hôtes H1 et H2. Cela ouvrira des fenêtres distinctes pour chacun des hôtes. Chaque hôte aura sa propre configuration de réseau, notamment des adresses IP et MAC uniques.

*** À partir de l'interface de ligne de commande :
mininet> xterm H1
mininet> xterm H2

b. À l’invite Node: H1, saisissez ip address pour vérifier l’adresse IPv4 et enregistrez l’adresse MAC.

Répétez l’opération pour Node: H2. Une adresse IPv4 et une adresse MAC sont mises en surbrillance cidessous pour référence.

[root@secOps analyst]# ip address
<output omitted>
2: H1-eth0@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
group default qlen 1000
    link/ether ba:d4:1d:7b:f3:61 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.0.0.11/24 brd 10.0.0.255 scope global H1-eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::b8d4:1dff:fe7b:f361/64 scope link
       valid_lft forever preferred_lft forever
Host-interface Adresse IP Adresse MAC
H1-eth0 10.0.0.11 Les réponses peuvent varier. ba:d4:1d:7b:f3:61 comme exemple
H2-eth0 10.0.0.12 Les réponses peuvent varier. 4e:b8:9c:5a:aa:50 comme exemple.

Partie 2 : Capturer et analyser les données ICMP avec Wireshark

Dans cette partie, vous allez envoyer des requêtes ping entre deux hôtes du réseau Mininet et capturer les requêtes et les réponses ICMP dans Wireshark. Vous examinerez également les PDU capturées pour obtenir des informations spécifiques. Cette analyse devrait vous aider à mieux comprendre la façon dont les en-têtes de paquet sont utilisés pour transporter les données vers leur destination.

Étape 1: Examiner les données capturées sur le même réseau local.

Au cours de cette étape, vous allez examiner les données qui ont été générées par les requêtes ping de l’ordinateur du membre de votre équipe. Les données Wireshark sont divisées en trois parties :

  • La première partie présente la liste des trames PDU capturées, accompagnées d’un résumé des informations relatives au paquet IP listées.
  • La partie centrale propose une liste des informations PDU pour la trame sélectionnée dans la partie supérieure de l’écran et divise une trame PDU capturée en couches de protocole.
  • La partie inférieure présente les données brutes de chaque couche. Les données brutes sont affichées sous forme hexadécimale et décimale.

a. Sur Node: H1, saisissez wireshark & pour lancer Wireshark (le message d’avertissement n’est pas important pour ce TP.). Cliquez sur OK pour continuer.

[root@secOps]# wireshark &
[1] 1552
[root@secOps ~]#
** (wireshark:1552): WARNING **: Couldn't connect to accessibility bus:
Failed to connect to socket /tmp/dbus-f0dFz9baYA: Connection refused
Gtk-Message: GtkDialog mapped without a transient parent. This is
discouraged.

b. Dans la fenêtre Wireshark, sous l’en-tête Capture, sélectionnez l’interface H1-eth0. Cliquez sur Start pour capturer le trafic de données.

c. Sur Node: H1, appuyez sur la touche Entrée, le cas échéant, pour afficher une invite de commande. Saisissez ensuite ping -c 5 10.0.0.12 pour envoyer cinq requêtes ping à H2. L’option de commande -c spécifie le nombre de requêtes ping. Le chiffre 5 indique que cinq requêtes ping doivent être envoyées. Ces requêtes ping vont toutes aboutir.

[root@secOps analyst]# ping -c 5 10.0.0.12

d. Accédez à la fenêtre Wireshark et cliquez sur Stop pour interrompre la capture des paquets.

e. Un filtre peut être appliqué pour afficher uniquement le trafic d’intérêt.

Saisissez icmp dans le champ Filter, puis cliquez sur Apply.

f. Le cas échéant, cliquez sur les premières trames PDU de requête ICMP dans la partie supérieure de Wireshark. Notez que la colonne Source a l’adresse IP de H1 et que la colonne Destination a l’adresse IP de H2.

g. Tandis que cette trame PDU est toujours sélectionnée dans la partie supérieure, accédez à la partie centrale. Cliquez sur la flèche à gauche de la ligne Ethernet II pour afficher les adresses MAC de la destination et de la source.

L’adresse MAC de la source correspond-elle à l’interface de H1 ?

Oui

L’adresse MAC de la destination dans Wireshark correspond-elle à celle de H2 ?

Oui

Remarque : dans l’exemple précédent d’une requête ICMP capturée, les données ICMP sont encapsulées dans une unité de données de protocole (PDU) de paquet IPv4 (en-tête IPv4) qui est ensuite encapsulée dans une PDU de trame Ethernet II (en-tête Ethernet II) en vue de sa transmission sur le réseau local (LAN).

Étape 2: Examiner les données capturées sur le réseau local distant.

Vous enverrez des requêtes ping aux hôtes distants (les hôtes ne figurant pas sur le réseau local (LAN)) et examinerez les données générées à partir de ces requêtes ping. Ensuite, vous déterminerez en quoi ces données diffèrent des données examinées dans la partie 1.

a. À l’invite mininet, démarrez les fenêtres du terminal sur les hôtes H4 et R1.

mininet> xterm H4
mininet> xterm R1

b. À l’invite Node: H4, saisissez ip address pour vérifier l’adresse IPv4 et enregistrez l’adresse MAC.

Répétez l’opération pour Node: R1.

[root@secOps analyst]# ip address
Host-interface Adresse IP Adresse MAC
H4-eth0 172.16.0.40 Les réponses peuvent varier.
R1-eth1 10.0.0.1 Les réponses peuvent varier.
R1-eth2 172.16.0.1 Les réponses peuvent varier.

c. Démarrez une nouvelle capture Wireshark sur H1 en sélectionnant Capture > Start. Vous pouvez également cliquer sur le bouton Start ou saisir Ctrl-E Cliquez sur Continue without Saving pour démarrer une nouvelle capture.

d. H4 est un serveur distant simulé. Envoyez une requête ping H4 depuis H1. La requête ping devrait aboutir.

[root@secOps analyst]# ping -c 5 172.16.0.40

e. Examinez les données capturées dans Wireshark. Examinez les adresses IP et MAC auxquelles vous avez envoyé des requêtes ping. Notez que l’adresse MAC est destinée à l’interface R1-eth1. Répertoriez les adresses IP et MAC de destination.

Adresse IP : 172.16.0.40.

Adresse MAC : Celui-ci sera associé à l’interface R1-eth1, qui est la passerelle par défaut pour les hôtes H1, H2 et H3 dans ce LAN.

f. Dans la fenêtre principale de la machine virtuelle CyberOps, saisissez quit pour arrêter Mininet.

mininet> quit
*** Stopping 0 controllers

*** Stopping 4 terms
*** Stopping 5 links
.....
*** Stopping 1 switches
s1
*** Stopping 5 hosts
H1 H2 H3 H4 R1
*** Done

g. Pour supprimer tous les processus qui ont été utilisés par Mininet, saisissez la commande sudo mn -c à l’invite.

analyst@secOps ~]$ sudo mn -c
[sudo] password for analyst:
*** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes
killall controller ofprotocol ofdatapath ping nox_core lt-nox_core ovs-openflowd ovscontroller udpbwtest mnexec ivs 2> /dev/null
killall -9 controller ofprotocol ofdatapath ping nox_core lt-nox_core ovs-openflowd
ovs-controller udpbwtest mnexec ivs 2> /dev/null
pkill -9 -f "sudo mnexec"
*** Removing junk from /tmp
rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log
*** Removing old X11 tunnels
*** Removing excess kernel datapaths
ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/'
*** Removing OVS datapaths
ovs-vsctl --timeout=1 list-br
ovs-vsctl --timeout=1 list-br
*** Removing all links of the pattern foo-ethX
ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)'
ip link show
*** Killing stale mininet node processes
pkill -9 -f mininet:
*** Shutting down stale tunnels
pkill -9 -f Tunnel=Ethernet
pkill -9 -f .ssh/mn
rm -f ~/.ssh/mn/*
*** Cleanup complete.

 

Subscribe
Notify of
guest

0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments