Appliquer la notion

Décoder un paquet IP

Voici un extrait d'un paquet IP en hexadécimal, extrait d'une trame Ethernet.

1
45 00 00 35
2
43 08 40 00
3
80 06 36 51
4
C0 A8 00 0C
5
C0 A8 00 0D
6
06 B1 00 19
7
F7 8A E9 14
8
2D 7A 23 6F
9
50 18 FA 84
10
02 95 00 00
11
45 48 4C 4F
12
20 6E 61 70
13
69 65 72 0D
14
... 

Question

Ce paquet est-il un paquet IPv4 ou IPv6 ?

Indice

La version se trouve sur le premier chiffre hexadécimal du paquet.

Solution

Le 4 en hexadécimal indique bien qu'il s'agit d'un paquet IPv4.

Question

Ce paquet encapsule le protocole TCP. Quelle est la valeur correspondant à ce protocole ?

Indice

Cette information se trouve à la troisième ligne, codé sur les chiffres 3 et 4.

Solution

Il s'agit de la valeur 06 qui correspond donc au protocole TCP.

On peut le vérifier en consultant l'article Wikipédia qui donne la liste des codes utilisés par IP pour référencer les protocoles.

Question

Quelles sont les adresses IP source et de destination en héxadécimal ?

Indice

Les adresses IP sont respectivement renseignées au 4ème et 5ème champ.

Solution

  • On a pour l'adresse IP source C0 A8 00 0C en hexadécimal.

  • On a pour l'adresse IP destination C0 A8 00 0D en hexadécimal.

Question

Convertissez les adresses en décimal.

Indice

Pour convertir un nombre hexadécimal en décimal on peut :

  • le faire à la main : C0 = 12*16 + 0 = 192

  • utiliser dans un terminal la commande echo $((0x_______)) en remplaçant les ___ par le nombre héxadécimal. Par exemple echo $((0xC0)) retourne 19

Solution

  • On a pour l'adresse IP source C0 A8 00 0C en hexadécimal soit 192.168.0.12 en décimal.

  • On a pour l'adresse IP destination C0 A8 00 0D en hexadécimal soit 192.168.0.13 en décimal.