ARes_T1_fr
ARes_T1_fr
ARes_T1_fr
Ce premier support permet de se familiariser avec l’environnement d’expérimentation des Lab de l’UE ARes. Nous débuterons
par quelques rappels sur l’analyse de trames (partie 1), puis nous présenterons l’outils de capture wireshark (partie 2). Nous
détaillerons ensuite l’environnement pratique utilisé tout au long du semestre (la plateforme d’expérimentation du parcours
RES du Master d’Informatique, partie 3). Nous présenterons les possibilités de capture de trafic réseau sur cette plateforme et
terminerons par la réalisation d’un exercice pratique (partie 4). Avant la fin de la séance, n’oubliez pas de laisser l’environnement
de travail dans son état initial (partie 5). Une annexe située à la fin de ce document est disponible pour vous aider dans vos
analyses grâce à un rappel des diverses structures de données utilisées
❶ ❷ ❸
0000 00 50 7f 05 7d 40 00 10 a4 86 2d 0b 08 00 45 00 .P..}@.. ..-...E.
0010 02 19 17 98 40 00 40 06 6c 14 0a 21 b6 b2 c0 37 ....@.@. l..!...7
0020 34 28 84 b3 00 50 b6 94 b0 b8 24 67 89 e9 80 18 4(...P.. ..$g....
0030 16 d0 60 e4 00 00 01 01 08 0a 00 6f a7 32 00 00 ..‘..... ...o.2..
0040 00 00 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 31 ..GET / HTTP/1.1
0050 .. .. .. .. .. ..
❶ la première colonne indique, avec 4 chiffres hexadécimaux, le rang du premier octet de la ligne courante dans la trame ;
❷ la seconde affiche la valeur hexadécimale de 16 octets capturés à chaque ligne (un octet est représenté par deux caractères
hexadécimaux) ;
❸ la dernière représente à chaque ligne les caractères ASCII correspondants aux 16 octets de la seconde colonne (la corres-
pondance n’est significative que lorsque du texte “imprimable” se trouve encodé dans ces octets).
• Dans la suite, nous capturerons principalement des trames Ethernet. Les cartes réseau peuvent limiter les informations
remontées au noyau, ainsi la représentation des trames ne comporte ni préambule, ni CRC.
• Dans le monde professionnel, vous devrez respecter les usages afin de communiquer efficacement. Ainsi, respectez impé-
rativement les conventions d’écriture adaptées aux différents champs que vous analysez, par exemple :
0080 .. ..
1. Détaillez la structure de la trame en dessinant directement ses délimitations sur la trace à analyser.
2. Quelles informations de la couche liaison pouvez-vous observer ?
3. Représentez la structure du paquet directement sur la trace à analyser. Quelle est la taille de ce paquet et qu’en déduisez-
vous ? Le paquet contient-il des options et quel en est l’effet sur la structure du paquet ? Précisez la source et le destinataire
du paquet.
4. Représentez la structure des données transportées par le paquet directement sur la trace. Quel est le protocole de transport
utilisé ? Quels sont les ports utilisés ? Quelle est leur signification ?
5. Il n’y a pas de documentation correspondant à la couche application à la fin du document, malgré cela, pouvez vous
observer des informations associées à ce niveau dans la trace ?
Pour pouvoir travailler les exercices à l’extérieur de l’université, vous pouvez recopier les traces réalisées pendants les séances
ou télécharger celles disponibles dans la page web suivante :
http://www-npa.lip6.fr/~fourmaux/Traces/labV8.html
à architecture x86 avec système GNU/Linux que vous utilisez actuellement). Vous pouvez le télécharger sur http://www.wireshark.org.
2 PPTI : Plateforme Pédagogique et Technique d’Informatique
3 Si le choix d’une exécution avec ou sans les droits d’administrateur n’apparait pas, vous aurez peut être à spécifier ultérieurement. En cas d’échec,
généralement lié à l’exécution proposée par votre environnement qui essaye d’utiliser le mode administrateur (mode par défaut de la commande
wireshark relative au $PATH local), vous pouvez démarrer en mode textuel (dans un terminal) : Tapez alors la commande /usr/sbin/wireshark.
3. Quels sont les différents protocoles que vous pouvez observer dans la capture affichée ?
4. Combien de protocoles est capable d’analyser la version de wireshark que vous utilisez ?
2. Décrivez un filtre qui ne sélectionne que les trames contenant le protocole applicatif NTP. Pour vous aider, le menu
“Analyse” propose “Display Filters...” qui affiche une fenêtre d’édition de filtre. Le bouton +Expression autorise à la
création interactive de l’expression correspondante. Appliquez ce filtre. Qu’observez-vous ?
3. Supprimez le filtre précédent et coloriez en violet les trames contenant du protocole NTP.
4. Vous pouvez également combiner les filtres à l’aide des opérateurs booléen usuels. Filtrez l’affichage pour ne conserver
que les trames contenant du protocole NTP et celles contenant du protocole DNS.
1. Pouvez-vous retrouver la trame analysée manuellement dans la trace que vous avez chargée ? Le cas échéant, confrontez
votre analyse à celle réalisée par wireshark.
2. Sélectionnez et affichez toutes les trames relatives à la connexion TCP démarrant à la trame 8, puis coloriez en rouge
seulement celles contenant des données HTTP.
3. Décrivez ce que vous observez dans le reste de la trace. Précisez s’il y a plusieurs connexions, et le cas échéant, leur
relation.
4. Peut-on visualiser simplement le contenu applicatif d’une connexion TCP avec wireshark ?
Internet Internet
via PPTI via PPTI control power
console manager
X 16 X 16 probe PC Switch
Router
client PC
L’ajout de cette plateforme réseau permet de faire évoluer le poste PPTI habituel d’un simple PC vers un poste d’accès et
de contrôle des différents élément de la plateforme (machines terminales, commutateurs et routeurs), tout en y conservant les
services usuels de la PPTI (accès aux comptes utilisateurs, aux logiciels habituels et à l’Internet). Cette évolution est présentée
dans la Figure 2.
• le commutateur N
• le routeur N
• le PC N utilisé pour faire tourner plusieurs machines viruelles (VM) :
– la VM “client” N1
– la VM “sonde” N2
– la VM “serveur” N3
Experimentation
Admin. eth0
eth0 VM N2 eth1 eth2 networks of
enp3s0
network host N
PC PPTI N eth0 VM N3 eth1 eth3
PC N
Internet
via PPTI Switch Admin.
Switch N
VM N1
PC PPTI N
VM N2
Router N VM N3
Internet 2.N
VLAN N1
via PPTI Switch N
7.N1 N1 10.N.1/24
Admin.
VM N1 254
ppti-14-503-N network
10.0/16 7.N2 3.N Router N
(VLAN 200)
VM N2 254
0.N 7.N3 N3
VLAN N2
PC PPTI N 10.N.2./24
VM N3
3.4.1 Contrôle à distance des 3 VM de la plateforme via SSH et tunnel X11 à partir de PC de la salle 503
Quelle que soit la topologie utilisée, pour démarrer toute utilisation de la plateforme, il est nécessaire de contrôler les hôtes requis
à distance. Une possibilité est d’utiliser des sessions SSH depuis le poste de la PPTI sur lequel vous travaillez. Par exemple,
si vous souhaitez utiliser les trois VM de la plateforme qui nous sont associés, il vous faudra ouvrir trois terminaux textuels à
travers lesquels les équipements concernés seront supervisés (le login est le mot etudiant, et le mot de passe sera fourni par
votre encadrant). En travaillant à partir du poste N :
• fenêtre 1, vmN1 (hôte “client”) : tapez ssh -Y [email protected]
• fenêtre 2, vmN2 (hôte “sonde”) : tapez ssh -Y [email protected]
• fenêtre 3, vmN3 (hôte “serveur”) : tapez ssh -Y [email protected]
L’option “-Y” signifie que l’environnement graphique de la machine distante (fenêtres X11) sera redirigé sur le poste local.
Cela n’est pas nécessaire si le contrôle est uniquement textuel.
Les VM de la plate-forme sont reliées au réseau d’administration par leur interface eth0 et aux réseaux d’expérimentation via
eth1 (voir sur la Figure 3). La commande Unix /sbin/ifconfig permet de vérifier la configuration des interfaces. Dans les 3
terminaux précédemment lancés, exécutez cette commande. Vous devez observer un affichage similaire à celui de la Figure 7.
Dans la suite, tous les Labs seront présentés avec cette technique d’accès à distance : SSH a pour avantage
d’être standard et sécurisée.
3.4.2 Contrôle à distance des 3 VM de la plateforme via SSH depuis l’extérieur de la PPTI
Quelle que soit la topologie utilisée, pour démarrer toute utilisation de la plateforme, il est nécessaire de contrôler les hôtes requis
à distance. Une possibilité est d’utiliser une succession de sessions SSH depuis votre machine personnelle et de passer ainsi à
travers le poste de la PPTI. Par exemple, si vous souhaitez utiliser les trois VM de la plateforme qui nous sont associés, il vous
faudra ouvrir trois terminaux textuels sur votre machine personnelle avec lesquels les équipements concernés seront supervisés
(le login est le mot etudiant, et le mot de passe sera fourni par votre encadrant). En passant à travers le poste N, tappez :
Les VM de la plate-forme sont reliées au réseau d’administration par leur interface eth0 et aux réseaux d’expérimentation via
eth1 (voir sur la Figure 3). La commande Unix /sbin/ifconfig permet de vérifier la configuration des interfaces. Dans les 3
terminaux précédemment lancés, exécutez cette commande. Vous devez observer un affichage similaire à celui de la Figure 7.
Dans la suite, tous les Labs sont possible avec cette technique alternative d’accès à distance. Prenez la précaution
de ne pas utiliser des VM avec un autre étudiant en train d’expérimenter au même moment.
• rapatriez cette capture sur votre compte à la PPTI : scp <maCapture> <monLoginPPTI>@10.0.0.N:
• puis sur votre machine personnelle : scp <monLoginPPTI>@ssh.ufr-info-p6.jussieu.fr:<maCapture> .
Vous pouvez alors localement charger la trace réalisée sur la plateforme avec wireshark -r <maCapture> puis analyser
graphiquement celle-ci.
• Se connecter sur les 3 hôtes de la plateforme (si ce n’est déjà fait), avec le login etudiant et le mot de passe fourni par
votre encadrant.
– fenêtre 1, accédez à la vmN1 (hôte “client”) via SSH vers [email protected] (utilisez -Y pour la redirection
X11 de firefox)
– fenêtre 2, accédez à la vmN2 (hôte “sonde”) via SSH vers [email protected] (utilisez -Y pour la redirection
X11 de wireshark)
– fenêtre 3, accédez à la vmN3 (hôte “serveur”) via SSH vers [email protected]
• Vérifiez que le serveur HTTP tourne sur 10.0.7.N3 (fenêtre 3)
– recherchez le processus du serveur web, tapez ps aux | grep apache
– visualisez la configuration des interfaces pour vérifier l’adresse IP du serveur (/sbin/ifconfig eth1)
• Lancez l’analyseur sur 10.0.7.N2 (fenêtre 2)
– si vous lancez l’analyseur graphique, tapez : wireshark, puis initier la capture sur l’interface eth1, comme indiqué
précédemment
– si vous êtes en mode texte, tapez tshark -i eth1 -w <maCapture>
• Démarrez un client web sur 10.0.7.N1 (fenêtre 1)
– lancez le client, tapez : firefox ouvrez dans le navigateur la page http://10.N.1.N3 (vérifiez qu’il n’y a pas de
proxy configuré)
– ou, en mode textuel : wget -p --no-proxy http://10.N.1.N3
• Observez la capture dans la fenêtre de wireshark (en la rapatriant préalablement si vous avez utilisé tshark), vous devez
voir s’afficher quelque chose de similaire à la Figure 11. N’oubliez pas de terminer la capture.