Mis à jour le 07/07/2023
10.2.7 – Travaux pratiques – Utiliser Wireshark pour examiner une capture DNS UDP .
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
Objectifs
Partie 1 : Enregistrer les informations de configuration IP d’un ordinateur
Partie 2 : Utiliser Wireshark pour capturer les requêtes et les réponses DNS
Partie 3 : Analyser les paquets DNS ou UDP capturés
Contexte/scénario
Lorsque vous utilisez Internet, vous utilisez un système DNS (Domain Name System). DNS est un réseau distribué de serveurs qui traduit des noms de domaine faciles à utiliser comme www.google.com en adresse IP. Lorsque vous tapez l’adresse URL d’un site web dans votre navigateur, votre PC envoie une requête DNS à l’adresse IP du serveur DNS. La requête de votre ordinateur au serveur DNS et la réponse du serveur DNS utilisent le protocole UDP (User Datagram Protocol) comme protocole de couche transport. À la différence du protocole TCP, le protocole UDP est sans connexion et ne nécessite aucune configuration de session. Les requêtes et les réponses DNS sont très petites et ne génèrent pas de surcharge comme le protocole TCP.
Dans le cadre de ces travaux pratiques, vous communiquerez avec un serveur DNS en envoyant une requête DNS à l’aide du protocole de transport UDP. Vous utiliserez Wireshark pour examiner les échanges de requêtes et de réponses DNS avec le même serveur.
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
- Accès Internet
Instructions
Partie 1 : Enregistrer les informations de configuration IP de la machine virtuelle
Dans la première partie, vous utiliserez les commandes de votre poste de travail virtuel CyberOps pour trouver et enregistrer les adresses MAC et IP de la carte d’interface virtuelle de votre ordinateur, l’adresse IP de la passerelle par défaut spécifiée et l’adresse IP du serveur DNS spécifiée pour l’ordinateur. Enregistrez ces informations dans la table fournie. Elles seront utilisées dans les sections suivantes de ces travaux pratiques avec l’analyse des paquets.
Description | Paramètres |
---|---|
Adresse IP | Les réponses varieront. 192.168.8.10 |
Adresse MAC | Les réponses varieront. 08:00:27:82:75:df |
Adresse IP de la passerelle par défaut | Les réponses varieront. 192.168.8.1 |
Adresse IP du serveur DNS | Les réponses varieront. 8.8.4.4 |
a. Les paramètres réseau de votre poste de travail CyberOps VM doivent être définis sur la carte pontée. Pour vérifier vos paramètres réseau, accédez à: Machine > Paramètres, sélectionnez Réseau, l’onglet Adaptateur 1, Attaché à: Adaptateur ponté.
b. Ouvrez un terminal sur la machine virtuelle. Saisissez ifconfig à l’invite pour afficher les informations liées à l’interface. Si vous n’avez pas d’adresse IP sur votre réseau local, exécutez la commande suivante dans le terminal:
[analyst@secOps ~]$ sudo lab.support.files/scripts/configure_as_dhcp.sh Configuration de la carte réseau pour demander des informations IP via DHCP... Demander des informations IP... Configuration IP réussie.
Remarque: Dans la partie 1, vos résultats varient en fonction de vos paramètres de réseau local et de votre connexion Internet.
[analyst@secOps ~]$ ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.8.10 netmask 255.255.255.0 broadcast 192.168.8.255 inet6 fe80። a 00:27 ff:fe 82:75 df prefixlen 64 scopeid 0x20<link> ether 08:00:27:82:75:df txqueuelen 1000 (Ethernet) Paquets RX 41953 octets 14354223 (13,6 Mio) RX errors 0 dropped 0 overruns 0 frame 0 Paquets TX 15249 octets 1723493 (1,6 Mio) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 <some output omitted>
c. À l’invite du terminal, saisissez cat /etc/resolv.conf pour déterminer le serveur DNS.
[analyst@secOps ~]$ cat /etc/resolv.conf # Resolver configuration file. # See resolv.conf(5) for details. nameserver 8.8.4.4 nameserver 209.165.200.235
d. À l’invite du terminal, saisissez netstat – r pour afficher la table de routage IP à l’adresse IP de la passerelle par défaut.
[analyst@secOps ~]$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.8.1 0.0.0.0 UG 0 0 0 enp0s3
192.168.8.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
192.168.8.1 0.0.0.0 255.255.255.255 UH 0 0 0 enp0s3
Remarque : l’adresse IP du serveur DNS et l’adresse IP de la passerelle par défaut sont souvent les mêmes, surtout dans les petits réseaux. Toutefois, sur le réseau d’une entreprise ou d’un établissement scolaire, les adresses sont généralement différentes.
Partie 2 : Utiliser Wireshark pour capturer les requêtes et les réponses DNS
Dans la partie 2, vous allez configurer Wireshark pour capturer des paquets de requêtes et de réponses DNS. Cet exercice permet de tester l’utilisation du protocole de transport UDP lors de la communication avec un serveur DNS.
a. Dans la fenêtre de terminal, lancez Wireshark et cliquez sur OK lorsque vous y êtes invité.
[analyste @secOps ~] $ wireshark &
b. Dans la fenêtre Wireshark, sélectionnez et double-cliquez sur enp0s3 dans la liste de l’interface.
c. Ouvrez un navigateur web et tapez www.google.com.
d. Cliquez sur Stop (Arrêter) pour arrêter la capture Wireshark lorsque la page d’accueil de Google s’affiche.
Partie 3 : Analyser les paquets DNS ou UDP capturés
Dans la troisième partie, vous examinerez les paquets UDP qui ont été générés lors de la communication à un serveur DNS des adresses IP pour www.google.com.
Étape 1: Filtrez les paquets DNS.
a. Dans la fenêtre principale de Wireshark, saisissez dns dans le champ Filter. Cliquez sur Appliquer.
Remarque : si aucun résultat ne s’affiche après l’application du filtre DNS, fermez le navigateur web. Dans la fenêtre de terminal, saisissez ping www.google.com comme alternative au navigateur web.
b. Dans le volet de la liste des paquets (section supérieure) de la fenêtre principale, localisez le paquet qui inclut Standard query et A www.google.com. Voir le cadre 429 ci-dessus à titre d’exemple.
Étape 2: Examinez les champs d’un paquet de requêtes DNS.
Les champs de protocole, surlignés en gris, s’affichent dans le volet des informations sur les paquets (section centrale) de la fenêtre principale.
a. Dans le volet de détails des paquets, la trame 429 possède 74 octets de données sur le câble comme indiqué à la première ligne. Il s’agit du nombre d’octets nécessaires pour envoyer une requête DNS à un serveur nommé demandant les adresses IP de www.google.com. Si vous avez utilisé une adresse web différente, comme www.cisco.com, le nombre d’octets peut varier.
b. La ligne Ethernet II affiche les adresses MAC source et de destination. L’adresse MAC source provient de votre machine virtuelle, car c’est elle qui a émis la requête DNS. L’adresse MAC de destination provient de la passerelle par défaut, car c’est le dernier arrêt avant la sortie de cette requête du réseau local.
L’adresse MAC source est-elle identique à celle enregistrée dans la première partie pour la machine virtuelle ?
La réponse devrait être oui.
c. Sur la ligne Internet Protocol Version 4, la capture Wireshark de paquets IP indique que l’adresse IP source de cette requête DNS est 192.168.8.10 et l’adresse IP de destination est 8.8.4.4. Dans cet exemple, l’adresse de destination est le serveur DNS.
Pouvez-vous identifier les adresses IP et MAC des périphériques source et de destination?
Appareil | Adresse IP | Adresse MAC |
---|---|---|
Station de travail source | Les réponses varieront. 192.168.8.10 | Les réponses varieront. 08:00:27:82:75:df |
Serveur DNS de destination/Passerelle par défaut | Les réponses varieront. 8.8.4.4 | Les réponses varieront. 00:78:cd:01:f6:50 |
Remarque: L’adresse IP de destination est pour le serveur DNS, mais l’adresse MAC de destination est pour la passerelle par défaut.
L’en-tête et le paquet IP encapsulent le segment UDP. Le segment UDP contient la requête DNS comme données.
d. Un en-tête UDP comporte uniquement quatre champs : source port (port source), destination port (port de destination), length (longueur) et checksum (somme de contrôle). Chaque champ de l’en-tête UDP ne dispose que de 16 bits comme indiqué ci-dessous.
Cliquez sur la flèche située à côté de User Datagram Protocol pour afficher les détails. Notez qu’il n’existe que quatre champs. Le numéro du port source dans cet exemple est 58029. Le port source a été généré aléatoirement par la machine virtuelle parmi les numéros de port qui ne sont pas réservés. Le port de destination est le 53. Le port 53 est un port réservé destiné à une utilisation avec DNS. Les serveurs DNS écoutent sur le port 53 les requêtes DNS provenant des clients.
Dans cet exemple, la longueur du segment UDP est de 40 octets. La longueur du segment UDP dans votre exemple peut être différente. Sur 40 octets, 8 sont utilisés pour l’en-tête. Les 32 autres octets sont utilisés par les données de requête DNS. Les 32 octets de données de requête DNS sont mis en évidence dans l’illustration suivante du volet d’octets des paquets (section inférieure) de la fenêtre principale de Wireshark.
La somme de contrôle est utilisée pour déterminer l’intégrité du paquet UDP une fois qu’il a transité par Internet.
L’en-tête UDP surcharge peu le réseau parce que le protocole UDP n’a pas de champs associés à l’échange en trois étapes du protocole TCP. Tous les problèmes de fiabilité liés au transfert des données doivent être gérés par la couche application.
Développez le cas échéant pour voir les détails. Notez les résultats de Wireshark dans le tableau cidessous :
Description | Les résultats de wireshark. |
---|---|
Taille de trame | Les réponses peuvent varier. Dans cet exemple : 74 octets |
Adresse MAC source | Answers may vary. In this example: 08:00:27:82:75:df |
Adresse MAC de destination | Answers may vary. In this example: 00:78:cd:01:f6:50 |
Adresse IP source | Answers may vary. In this example: 192.168.8.10 |
Adresse IP de destination | Answers may vary. In this example: 8.8.4.4 |
Port source | Answers may vary. In this example: 53 |
Port de destination | Answers may vary. In this example: 58029 |
L’adresse IP source est-elle identique à l’adresse IP du PC local enregistrée dans la première partie ?
Oui
L’adresse IP de destination est-elle identique à la passerelle par défaut notée dans la première partie ?champs d’un paquet de réponses DNS.
Non, la passerelle par défaut est 192.168.8.1 et le serveur DNS est 8.8.4.4.
Dans cette étape, vous examinerez le paquet de réponse DNS et vérifierez que le paquet de réponse DNS utilise aussi le protocole UDP.
e. Dans cet exemple, la trame 488 est le paquet de réponse DNS correspondant. Notez que le nombre d’octets sur le câble est égal à 90. Il s’agit d’un paquet plus gros par rapport au paquet de requête DNS. C’est parce que le paquet de réponses DNS comprend diverses informations sur le domaine.
f. Dans la trame Ethernet II pour la réponse DNS, de quel périphérique provient l’adresse MAC source et à quel périphérique correspond l’adresse MAC de destination ?
L’adresse MAC source est la passerelle par défaut et l’adresse MAC de destination est la VM.
g. Notez les adresses IP source et de destination du paquet IP.
Quelle est l’adresse IP de destination ?
La réponse variera. Dans cet exemple, la destination est 192.168.8.10.
Quelle est l’adresse IP source ?
La réponse variera. Dans cet exemple, la source est 8.8.4.4.
Qu’est-il arrivé aux rôles de la source et de la destination pour la machine virtuelle et la passerelle par défaut ?
La machine virtuelle et le serveur DNS ont inversé leurs rôles dans les paquets de requête et de réponse DNS.
h. Dans le segment UDP, le rôle des numéros de port a également été inversé. Le numéro du port de destination est 58029. Le numéro de port 58029 est le même port que celui qui a été généré par la machine virtuelle lorsque la requête DNS a été envoyée au serveur DNS. Votre machine virtuelle attend une réponse DNS sur ce port.
Le numéro du port source est 53. Le serveur DNS écoute une requête DNS sur le port 53, puis envoie une réponse DNS avec le numéro de port source 53 à l’émetteur de la requête DNS.
Lorsque la réponse DNS est développée, examinez les adresses IP résolues pour www.google.com dans la section Answers (Réponses).
Question de réflexion
Quels sont les avantages du protocole UDP par rapport au protocole TCP comme protocole de transport sur un serveur DNS ?
UDP en tant que protocole de transport fournit un établissement de session rapide, une réponse rapide, une surcharge minimale, aucun besoin de nouvelles tentatives, de réassemblage de segments et d’accusé de réception des paquets reçus.