Protocoles et analyse de trames
Cours : Protocoles et analyse de trames. Recherche parmi 300 000+ dissertationsPar Gp800 • 10 Mai 2021 • Cours • 6 080 Mots (25 Pages) • 2 035 Vues
Protocoles et analyse de trames
Dans ce cours, nous allons nous intéresser à l’analyse de trames. Pour atteindre l’objectif de comprendre la constitution d’une trame, il nous faudra définir différents protocoles afin de savoir ce que doit contenir chacune des trames analysées.
Nous nous intéresserons plus particulièrement aux protocoles ARP, IP, TCP et UDP.
1) Comprendre la Trame Ethernet
L'information circulant sur le réseau, sous forme d'une suite de bits, doit être structurée sous une forme qui permette aux nœuds intermédiaires (switchs, routeurs...) de bien orienter le message, et au destinataire de bien le prendre en compte.
Le réseau doit aussi pouvoir prévenir l'émetteur si un incident a empêché la bonne transmission du message. Le langage qui structure les données sur le réseau est appelé un protocole, et les phrases qui le composent sont les trames.
1.1) Transmission de l'information
Comme nous l'avons dit, les ordinateurs, les périphériques et les éléments actifs du réseau ne comprennent que le langage binaire. Un bit ne peut avoir que deux valeurs : 0 ou 1.
Par exemple, si un ordinateur veut coder les lettres "LPRS" en binaire afin de les envoyer sur le réseau, on obtiendra ceci :
[pic 1]
Chaque lettre, chaque symbole, chaque couleur de pixel affichée sur un écran, chaque note de musique... correspond à un code binaire particulier. La combinaison complexe de tous ces éléments permet à un ordinateur d'afficher par exemple une photo ou bien de lancer un jeu vidéo.
Si l'ordinateur veut envoyer ces lettres sur le réseau, ce code binaire va être traduit en signal électrique afin de passer par exemple sur un câble Ethernet. Pour faire simple, les bits à un 1 auront par exemple une tension de 5V et les bits à 0 auront une tension nulle.
[pic 2]
1.2) Organisation des bits en trames
Dans notre exemple précédent, le mot "LPRS" est envoyé sur un câble Ethernet afin d'arriver à un autre ordinateur. Mais si ces données doivent passer par un switch (commutateur), comment va-t-il faire pour orienter l'information sur le bon port ? Et comment le PC destinataire va savoir qui lui envoie un message ?
(Pour rappel, une trame qui arrive sur un switch est orientée vers le bon port destinataire grâce à sa table d'adresse MAC. Cette table fait correspondre chaque numéro de port à l'adresse MAC de la machine qui lui est reliée.)
C'est justement là qu'il va être important que l'ordinateur émetteur organise cette succession de bit en trames.
Chaque trame, quel que soit le protocole utilisé, commence par indiquer l’adresse MAC destinataire codée sur 6 octets, puis l’adresse MAC source codée sur 6 octets également, et enfin le type de protocole codé sur 2 octets :
[pic 3]
(1 octet = 8 bits)
Ainsi le switch pourra savoir qui lui envoie la trame grâce à l'adresse MAC source et à qui il doit l'envoyer grâce à l'adresse MAC destination. Ces informations utiles qui vont être lues par le switch sont contenues dans ce qu'on appelle l'En-tête Ethernet. De même, le PC destinataire pourra savoir qui lui envoie un message.
- La trame intervient au niveau de la couche 2 du modèle OSI. Le 3ème champ de la trame, intitulé "Protocole de couche 3" permet donc de savoir quel est le protocole de niveau supérieur contenu dans cette trame. Nous y reviendrons plus tard.
- Le 4ème champs contient les données de la trame (qui dans notre exemple va contenir le mot LPRS et des informations des couches supérieures). Ce champ doit faire au moins 46 octets. Si les données font moins de 46 octets, on va réaliser un bourrage, c'est à dire que l'on va mettre autant de 0 nécessaires après les données pour arriver à 46 octets.
- Le dernier champs : "FCS" correspond au contrôle d'erreurs. Il permet de faire un calcul à l'arrivée de la trame afin de vérifier si il n y a pas eu d'erreurs de transmission.
1.3) Capture de trames
Une trame peut être capturée au niveau d'une carte réseau grâce à différents logiciels tels que Wireshark ou bien TCPdump. Concrètement, le logiciel intercepte toutes les trames passant par la carte réseau et va les afficher.
Comme nous l'avons vu, même si les données circulent sous forme binaire, le logiciel de capture va traduire ces données en hexadécimal afin de faciliter leurs lectures. Ainsi lorsque vous analyserez des trames, elles seront toujours en hexadécimal et non en binaire.
Exemple d'une trame capturée :
[pic 4]
Tableau de correspondance du champ protocole de la trame :
[pic 5]
Par exemple, si le champ protocole est égal à 0806, la trame contient une requête ARP.
Si le champ vaut 0800, la trame contient un paquet IP...
1.4) Exercices
1- En vous aidant du cours, analysez les trames suivantes en répondant aux questions :
Trame 1 :
01 22 05 aa 02 9b 00 02 33 ab ff c5 08 06 00 01
08 00 06 04 00 02 00 01 02 af f5 e2 0a 0a 01 01
00 60 08 61 04 7b 0a 0a 9f 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 58 a1 22 24
Donner l'adresse MAC du destinataire : 01 22 05 aa 02 9b
Donner l'adresse MAC de l'émetteur : 00 02 33 ab ff c5
Donner le type de protocole : 08 06 donc Protocole ARP
Combien d'octets font les données sans le bourrage (en hexadécimal, une paire de chiffres vaut 1 octet. Par exemple "2a" = 1 octet, 05 f2 vaut 2 octets, l'adresse MAC : 01 22 05 aa 02 9b = 6 octets...) : .......................................
Donner la valeur du FCS : 58 a1 22 24
...