Decoder une table ARP
Fermé
Enigamy
Messages postés
42
Date d'inscription
samedi 15 mars 2008
Statut
Membre
Dernière intervention
10 août 2009
-
6 sept. 2008 à 14:06
tkr - 17 nov. 2009 à 12:10
tkr - 17 nov. 2009 à 12:10
Bonjour je dois decoder une trame ARP et je n'ai AUCUNE idée de comment m'y prendre , la table ARP est la suivante :
ADDR HEX
0000 FF FF FF FF FF FF 00 40 05 13 65 80 08 06 00 01
0010 08 00 06 04 00 01 00 40 05 13 65 80 80 DE 0C 01
0020 00 00 00 00 00 00 80 DE 0C 02 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00
Merci d'avance !
ADDR HEX
0000 FF FF FF FF FF FF 00 40 05 13 65 80 08 06 00 01
0010 08 00 06 04 00 01 00 40 05 13 65 80 80 DE 0C 01
0020 00 00 00 00 00 00 80 DE 0C 02 00 00 00 00 00 00
0030 00 00 00 00 00 00 00 00 00 00 00 00
Merci d'avance !
A voir également:
- Decoder une table ARP
- Table ascii - Guide
- Table des matières word - Guide
- Comment decoder un telephone - Guide
- Table des annexes word ✓ - Forum Word
- Table des matières et table des annexes - Forum Word
3 réponses
BON, J'AI FAIT QUELQUES BOURDES JE REPREND MON MESSAGE :
Trame ethernet :
Pas de préambule dans ton cas.
adresse destination (6 oct) | adr. src (6) | type (2) | donnees
FF FF FF FF FF FF | 00 40 05 13 65 80 | 08 06
pour le type normalement on a :
# 0x0800 : IPv4
# 0x86DD : IPv6
# 0x0806 : ARP -> c'est ce qu'on a dans la trame
Partie ARP (=donnees de la trame ethernet) :
type_de_reseau_niv2 (2) | type_de_reseau_niv3 (2)
longeur_des_adresses_de_niveau_2 (1) | longeur_des_adresses_de_niveau_3 (2) | type_doperation (2)
adr_niv2_src (6) | adr_niv3_src(4) | adr_niv2_dst(6) | adr_niv3_dst(4)
=
00 01 (pour ethernet) | 08 00 (pour IP) | 06 (6octets pour eth) | 04 (4oct pour IP) | 00 01 (1 pour une requete 2 pour un reply) | 00 40 05 13 65 80 (adr eth source) | 80 DE 0C 01 (adr ip src)
00 00 00 00 00 00 (adr eth dest à 0 car c'est ce qu'on cherche) | 80 DE 0C 02 (adr ip dest) |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (octets de bourage)
Trame ethernet :
Pas de préambule dans ton cas.
adresse destination (6 oct) | adr. src (6) | type (2) | donnees
FF FF FF FF FF FF | 00 40 05 13 65 80 | 08 06
pour le type normalement on a :
# 0x0800 : IPv4
# 0x86DD : IPv6
# 0x0806 : ARP -> c'est ce qu'on a dans la trame
Partie ARP (=donnees de la trame ethernet) :
type_de_reseau_niv2 (2) | type_de_reseau_niv3 (2)
longeur_des_adresses_de_niveau_2 (1) | longeur_des_adresses_de_niveau_3 (2) | type_doperation (2)
adr_niv2_src (6) | adr_niv3_src(4) | adr_niv2_dst(6) | adr_niv3_dst(4)
=
00 01 (pour ethernet) | 08 00 (pour IP) | 06 (6octets pour eth) | 04 (4oct pour IP) | 00 01 (1 pour une requete 2 pour un reply) | 00 40 05 13 65 80 (adr eth source) | 80 DE 0C 01 (adr ip src)
00 00 00 00 00 00 (adr eth dest à 0 car c'est ce qu'on cherche) | 80 DE 0C 02 (adr ip dest) |
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 (octets de bourage)
Tu as là une trame ARP imbriqué dans une trame ethernet.
La trame ARP est inscrite dans la partie donnée de la trame ethernet.
Donc si tu connais la forme des trames tu résouds ton prb.
Je te donne les formes des trames à toi de découper dans ton exemple :
Trame ethernet :
preambule(8 octet) | adresse destination (6 oct) | adr. src (6) | type (2) | donnée (jusqua 1500 octet) | cheksum
pour le type normalement on a :
# 0x0800 : IPv4
# 0x86DD : IPv6
# 0x0806 : ARP
Ce qui est étonnant puisque dans ta trame le type est 0800 = IPv4 (au lieu de 0806 pour ARP)
Bref, après le type tu dois avoir jusqu'à max 1500 octets de données où tu peux lire ta requête ARP selon le shéma :
type_de_reseau_niv2 (4) | type_de_reseau_niv3 (4)
longeur_des_adresses_de_niveau_2 (2) | longeur_des_adresses_de_niveau_3 (2) | type_doperation (4)
adr_niv2_src (6) | adr_niv3_src | adr_niv2_dst(6) | adr_niv3_dst(6)
Quelques remarques :
1)à priori dans ton cas le niveau2=ethernet et le niveau3=IP
2)type_de_reseau_niv2 (4) | type_de_reseau_niv3 (4) sont apparament absents dans ta trame donc oubli ces champs.
3)type_dopertation= 1 pour une requete ARP (pour le reply on change cette valeur)
4)adr_niv2_dst(6) est mis à 00 00 00 00 00 00 comme tu peux le remarquer car c'est ce que cherche à determiner la requete ARP.
La trame ARP est inscrite dans la partie donnée de la trame ethernet.
Donc si tu connais la forme des trames tu résouds ton prb.
Je te donne les formes des trames à toi de découper dans ton exemple :
Trame ethernet :
preambule(8 octet) | adresse destination (6 oct) | adr. src (6) | type (2) | donnée (jusqua 1500 octet) | cheksum
pour le type normalement on a :
# 0x0800 : IPv4
# 0x86DD : IPv6
# 0x0806 : ARP
Ce qui est étonnant puisque dans ta trame le type est 0800 = IPv4 (au lieu de 0806 pour ARP)
Bref, après le type tu dois avoir jusqu'à max 1500 octets de données où tu peux lire ta requête ARP selon le shéma :
type_de_reseau_niv2 (4) | type_de_reseau_niv3 (4)
longeur_des_adresses_de_niveau_2 (2) | longeur_des_adresses_de_niveau_3 (2) | type_doperation (4)
adr_niv2_src (6) | adr_niv3_src | adr_niv2_dst(6) | adr_niv3_dst(6)
Quelques remarques :
1)à priori dans ton cas le niveau2=ethernet et le niveau3=IP
2)type_de_reseau_niv2 (4) | type_de_reseau_niv3 (4) sont apparament absents dans ta trame donc oubli ces champs.
3)type_dopertation= 1 pour une requete ARP (pour le reply on change cette valeur)
4)adr_niv2_dst(6) est mis à 00 00 00 00 00 00 comme tu peux le remarquer car c'est ce que cherche à determiner la requete ARP.