Comment pouvons-nous lire et interpréter manuellement les paquets correctement sans utiliser WireShark?

Maintenant à partir de len-tête Ethernet Je sais que ladresse MAC de destination doit être au 5ème octet (après la conversion des bits / octets). Donc, à partir de ces données, jai pensé que ce serait à partir de 4a. Cependant, en réalité, il « s 00:17:f2:d0:4c:82.

Il en va de même pour la destination source IP. Par exemple, la source doit être de 13 à 16 octets. Selon les lectures, je suppose que cela devrait être 0800. Mais en réalité, cest sur 0a 32 e7 85 mais je ne comprends pas pourquoi? Je ne sais pas comment interpréter correctement ces données ou peut-être que je comprends mal la structure générale des en-têtes.

https://ntquan87.wordpress.com/2015/08/17/reading-packet-hex-dumps-manually-no-wireshark/

Réponse

Je suppose que ce que vous voyez est une trame Ethernet de niveau 2 et donc le préambule est absent. De plus, la somme de contrôle Ethernet semble manquer. Dans ce cas, tout semble saligner (le type de paquet à lintérieur de la trame Ethernet, la version IPv4, la longueur du paquet IPv4, le type de paquet, cest-à-dire TCP, à lintérieur du paquet IP, …). Ensuite, vous « auriez lu votre paquet comme sur limage.

paquet

La charge utile TCP est

474554202f20485454502f312e300d0a 557365722d4167656e743a2057676574 2f312e31312e340d0a4163636570743a 202a2f2a0d0a486f73743a207777772e 696574662e6f72670d0a436f6e6e6563 74696f6e3a204b6565702d416c697665 0d0a0d0a 

et décode en:

GET / HTTP/1.0 User-Agent: Wget/1.11.4 Accept: */* Host: www.ietf.org Connection: Keep-Alive 

ce qui est cohérent avec le fait que le port de destination est 80.

Commentaires

  • Parce que javais inversé par erreur les étiquettes pour la source et la destination .. . Mon mauvais. Jai mis à jour limage. Il ny a pas de somme de contrôle car les en-têtes IPv4 indiquent que le paquet IPv4 fait 152 octets, cest-à-dire quil se termine exactement à la fin de vos données. Vous pouvez facilement voir que tous les derniers octets sont partie de la charge utile par leur version décodée (il ' est une requête HTTP GET).
  • Je ne ' Je ne sais pas doù vous ' obtenir ces numéros. La charge utile Ethernet (paquet IPv4) commence au 15ème octet. Voir: fr .wikipedia.org / wiki / Ethernet_frame . Dans le I Paquet Pv4, sa longueur est comprise entre le 3ème et le 4ème octet. Voir: en.wikipedia.org/wiki/IPv4#Packet_structure . Par conséquent, la longueur est 0x0098 (en hexadécimal), cest-à-dire 152 octets. Il sagit de la longueur du paquet IPv4 entier (la case avec la bordure bleue sur limage).
  • Jai compris où vous ' obtenir les nombres de: vous lisez le diagramme que vous avez posté dans le mauvais sens! La longueur de ladresse de destination Ethernet nest pas de 32 bits! Il ' s 48 bits = 6 octets … dans le diagramme, " Adresse MAC de destination " ne se termine pas à la fin de la deuxième ligne, mais il continue également sur la troisième ligne (dans lespace blanc, jusquà ce que le " | " séparateur). Il en va de même pour ladresse source (qui commence à partir de lespace vide de la troisième ligne et se termine dans la quatrième ligne). Je suggère dutiliser un diagramme moins déroutant …
  • Je ne ' pas savoir pourquoi dans vos réponses les adresses mac source et destination sont permutées. Cela ressemble à une bonne question pour celui qui vous a donné les réponses … En ce qui concerne le paquet IP, je ne comprends pas pourquoi vous voudriez supprimer la somme de contrôle des en-têtes IP ?? Daprès vos diagrammes, il y a exactement 12 octets dans le paquet IP avant le champ " Adresse source ". Cela correspond exactement à mon chiffre.
  • Le protocole de la couche application est HTTP . Les indicateurs sont définis sur 000011000 en binaire. Si vous regardez une liste dindicateurs , vous ' verrez que les 5e et 6e indicateurs (correspondant à bits) sont ACK et PSH.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *