Trames réseaux

sam -  
 Sam -
Bonjour!
Je travaille actuellement sur un projet de cature et analyse des trames du réseau. Pour ma part je teste les entetes et s'il y a une correspondance avec un protocole j'effectue un classement. Mais une fois que j'obtiens un pointeur sur l'entete, je ne vois pas comment je fais les comparaisons avec les différents champs ( version, type.....) ( avec l'hexa, les fcts ntohs.....) ????
Je vous remercie par avance!
sam

3 réponses

Lord Woden Messages postés 89 Statut Membre 21
 
Salut,

En fait ca dépend pas mal protocole utilisé pour l'entête. Mais de base, tu a ton pointeur sur l'entete de ton paquet de données. En regard de ton protocole, tu connais l'ordre et la taille des champs de bits qui font ton entete. Donc avec des buffers tu prends à la suite des copies des bits contenu dans ton entête pour les differents champs d'entete (Incrémentation de ton pointeur d'entete). Finalement, pour chaque champs, tu dispose d'un standard ou d'une norme (a priori un RFC de l'IETF) pour connaitre les valeurs caractéristiques pour faire tes comparaisons.

Euh ... j'espère que c ca que tu voulais savoir !?

@+ Lord Woden ;o)
1
Sam
 
Salut!
En fait j'ai déjà déclaré les structures pour les entetes ( RTP plus précisément) et après je crée un pointeur sur la trame qui me reste à tester. et après il faut tester un à un ces différents champs, par exemple version == etc... mais ce que je ne vois pas trop c'est que c'est de l'hexa, je ne peux pas les comparer comme s'il agissait de simple integer, je souhaitais avoir s'il y avait des transformations à faire!
Merci d'avance pour tte réponse!
@+
Sam
0
brupala Messages postés 115324 Date d'inscription   Statut Membre Dernière intervention   14 266
 
bah ,
si je ne me trompe pas , pour déclarer une constante en hexa,
tu la fais précéder de 0x
par exemple 14 s'écrit ox0E

et ... Voili  Voilou  Voila !
0
Sam
 
Tout à fait d'accord avec toi! :-)

et la comparaison se fait if ( entete.type & 0x4O) then ..( faire la comparaison du reste des champs......... ? on fait une opération bit à bit pour dire que ces deux chmaps sont pareil?????
Sachant que 0x40 est la valeur qu'il devrait y avoir.
Merci
0