9.2.6 – Travaux pratiques – Utilisation de Wireshark pour observer la connexion TCP en trois étapes

9.2.6 – Travaux pratiques – Utilisation de Wireshark pour observer la connexion TCP en trois étapes

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 : Préparer les hôtes pour la capture du trafic

Partie 2 : Analyser les paquets à l’aide de Wireshark

Partie 3 : Afficher les paquets à l’aide de tcpdump

Contexte/scénario

Au cours de ces travaux pratiques, vous utiliserez Wireshark pour capturer et examiner les paquets générés entre le navigateur de l’ordinateur en utilisant le protocole HTTP (Hypertext Transfer Protocol) et un serveur web, tel que www.google.com. Lorsqu’une application, comme le protocole HTTP ou FTP (File Transfer Protocol) démarre d’abord sur un hôte, TCP utilise la connexion en trois étapes pour établir une session TCP fiable entre les deux hôtes. Par exemple, lorsqu’un ordinateur utilise un navigateur web pour naviguer sur Internet, une connexion en trois étapes est lancée et une session est établie entre l’ordinateur hôte et le serveur web. Un ordinateur peut avoir des sessions TCP actives, multiples et simultanées avec différents sites web.

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 est un problème, l’instructeur peut souhaiter assigner le laboratoire comme devoir ou effectuer une démonstration.

Ressources requises

  • Poste de travail CyberOps VM

Instructions

Partie 1 : Préparer les hôtes pour la capture du trafic

a. Démarrez la machine virtuelle CyberOps. Connectez-vous avec le nom d’utilisateur analyst et le mot de passe cyberops.

b. Démarrez Mininet.

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

c. Démarrez les hôtes H1 et H4 sur Mininet.

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

d. Démarrez le serveur web sur H4.

[root@secOps analyst]#
/home/analyst/lab.support.files/scripts/reg_server_start.sh

e. Pour des raisons de sécurité, vous n’êtes pas en mesure d’exécuter Firefox à partir du compte utilisateur racine. Sur l’hôte H1, utilisez la commande switch user pour passer du compte utilisateur root au compte utilisateur analyste:

[root@secOps analyst]# su analyst

f. Démarrez le navigateur sur H1. Ce processus peut prendre quelques instants.

[analyst@secOps ~]$ firefox &

g. Une fois la fenêtre Firefox ouverte, démarrez une session tcpdump sur le terminal Node: H1 et envoyez la sortie vers un fichier appelé capture.pcap. L’option -v affiche la progression du processus. Le processus de capture s’arrête après la capture de 50 paquets, car il est configuré avec l’option -c 50.

[analyst@secOps ~]$ sudo tcpdump -i H1-eth0 -v -c 50 -w
/home/analyst/capture.pcap

h. Après le démarrage de tcpdump, accédez rapidement à 172.16.0.40 dans le navigateur Firefox.

Partie 2 : Analyser les paquets à l’aide de Wireshark

Étape 1: Appliquez un filtre à la capture enregistrée.

a. Appuyez sur Entrée pour afficher l’invite de commande. Lancez Wireshark sur Node: H1. Lorsque le message d’avertissement s’affiche, cliquez sur OK pour confirmer l’exécution de Wireshark en tant que super utilisateur.

[analyst@secOps ~]$ wireshark &

b. Dans Wireshark, cliquez sur File > Open. Sélectionnez le fichier pcap enregistré sous /home/analyst/capture.pcap.

c. Appliquez un filtre tcp à la capture. Dans cet exemple, les 3 premières trames représentent le trafic d’intérêt.

Étape 2: Examinez les informations au sein des paquets, y compris les adresses IP, les numéros de port TCP et les indicateurs de contrôle TCP.

a. Dans cet exemple, la trame 1 correspond au début de la connexion en trois étapes entre l’ordinateur et le serveur sur H4. Dans le volet de la liste des paquets (section supérieure de la fenêtre principale), sélectionnez le premier paquet, le cas échéant.

b. Cliquez sur la flèche à gauche du protocole TCP (Transmission Control Protocol) dans le volet de détails des paquets pour développer et examiner les données TCP. Localisez les informations sur les ports source et de destination.

c. Cliquez sur la flèche à gauche des indicateurs. Une valeur de 1 signifie que l’indicateur est défini. Repérez l’indicateur défini dans ce paquet.

Remarque : vous devrez peut-être modifier la taille des fenêtres du haut et du milieu dans Wireshark pour afficher les informations nécessaires.

Quel est le numéro du port source TCP ?

Les réponses varieront. Dans cet exemple, le port source est 58716.

Comment classifieriez-vous le port source ?

Dynamique ou Privé

Quel est le numéro du port de destination TCP ?

Port 80

Comment classifieriez-vous le port de destination ?

Connu, enregistré (protocole HTTP ou web)

Quel indicateur est défini ? (plusieurs réponses possibles)

Indicateur SYN

Sur quoi le numéro d’ordre relatif est-il défini ?

0

d. Sélectionnez le paquet suivant dans la connexion en trois étapes. Dans cet exemple, il s’agit de la trame 2. C’est la réponse du serveur web à la requête initiale de démarrage d’une session.

Quelles sont les valeurs des ports source et de destination ?

Le port source est maintenant 80 et le port de destination est maintenant 58716

Quels sont les indicateurs définis ?

L’indicateur d’accusé de réception (ACK) et l’indicateur Syn (SYN)

Sur quelle valeur les numéros d’ordre relatif et d’accusé de réception sont-ils définis ?

Le numéro de séquence relatif est 0 et le numéro d’accusé de réception relatif est 1.

e. Enfin, sélectionnez le troisième paquet dans la connexion en trois étapes.

Examinez le troisième et dernier paquet de la connexion.

Quel indicateur est défini ? (plusieurs réponses possibles)

Drapeau d’accusé de réception (ACK)

Les numéros d’ordre relatif et d’accusé de réception sont définis sur 1 comme point de départ. La connexion TCP est désormais établie et la communication entre l’ordinateur source et le serveur web peut commencer.

Partie 3 : Afficher les paquets à l’aide de tcpdump

Vous pouvez également afficher le fichier pcap et appliquer un filtre pour obtenir les informations souhaitées.

a. Ouvrez une nouvelle fenêtre du terminal et saisissez man tcpdump. Remarque : vous devrez peut-être appuyer sur Entrée pour afficher l’invite.

Parcourez ou recherchez dans les pages de manuel fournies avec le système d’exploitation Linux les options pour sélectionner les informations souhaitées dans le fichier pcap.

[analyst@secOps ~]$ man tcpdump
TCPDUMP(1) General Commands Manual TCPDUMP(1)

NOM
        tcpdump - dump traffic on a network

SYNOPSIS
        tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
                [ -c count ]
                [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
                [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
                [ --number ] [ -Q in|out|inout ]
                [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
                [ -W filecount ]
                [ -E spi@ipaddr algo:secret,... ]
                [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
                [ --time-stamp-precision=tstamp_precision ]
                [ --immediate-mode ] [ --version ]
                [ expression ]
<some output omitted>

Pour effectuer une recherche dans les pages de manuel, vous pouvez utiliser les symboles / (recherche vers le bas) ou ? (recherche vers le haut) pour rechercher des termes spécifiques, n pour afficher la correspondance suivante et q pour quitter la fenêtre de recherche. Par exemple, pour rechercher les informations concernant le commutateur -r, saisissez /r. Saisissez n pour afficher la correspondance suivante.

Comment se comporte le routeur -r ?

L’option -r vous permet de lire un paquet à partir d’un fichier enregistré à l’aide de l’option -w avec tcpdump ou d’autres outils qui écrivent des fichiers pcap ou pcap-ng, tels que Wireshark.

b. Sur le même terminal, ouvrez le fichier de capture à l’aide de la commande suivante pour afficher les 3 premiers paquets TCP capturés :

[analyst@secOps ~]$ tcpdump -r /home/analyst/capture.pcap tcp -c 3
reading from file capture.pcap, link-type EN10MB (Ethernet)
13:58:30.647462 IP 10.0.0.11.58716 > 172.16.0.40.http: Flags [S], seq 2432755549, win
29200, options [mss 1460,sackOK,TS val 3864513189 ecr 0,nop,wscale 9], length 0
13:58:30.647543 IP 172.16.0.40.http > 10.0.0.11.58716: Flags [S.], seq 1766419191, ack
2432755550, win 28960, options [mss 1460,sackOK,TS val 50557410 ecr
3864513189,nop,wscale 9], length 0
13:58:30.647544 IP 10.0.0.11.58716 > 172.16.0.40.http: Flags [.], ack 1, win 58,
options [nop,nop,TS val 3864513189 ecr 50557410], length 0

Pour afficher la connexion en trois étapes, vous devrez peut-être augmenter le nombre de lignes après l’option -c.

c. Accédez au terminal utilisé pour démarrer Mininet. Arrêtez Mininet en saisissant quit dans la fenêtre du terminal principale de la machine virtuelle CyberOps.

mininet> quit
*** Stopping 0 controllers

*** Stopping 2 terms
*** Stopping 5 links
.....
*** Stopping 1 switches
s1
*** Stopping 5 hosts
H1 H2 H3 H4 R1
*** Done
[analyst@secOps ~]$

d. Une fois Mininet arrêté, saisissez sudo mn -c pour supprimer les processus démarrés par Mininet.

Saisissez le mot de passe cyberops lorsque vous y êtes invité.

[analyst@secOps ~]$ sudo mn -c
[sudo] password for analyst:

Questions de réflexion

1. Des centaines de filtres sont disponibles dans Wireshark. Un réseau de grande taille peut avoir de nombreux filtres et de nombreux types de trafic. Indiquez trois filtres qui pourraient être utiles à un administrateur réseau.

Les réponses varieront mais pourraient inclure TCP, des adresses IP spécifiques (source et/ou destination) et des protocoles tels que HTTP.

2. De quelles autres façons Wireshark pourrait-il être utilisé dans un réseau de production ?

Wireshark est souvent utilisé à des fins de sécurité pour une analyse après coup du trafic normal ou après une attaque réseau. De nouveaux protocoles ou services peuvent devoir être capturés pour déterminer quel(s) port(s) sont utilisés.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments