Trames réseaux

Fermé
sam - 18 août 2003 à 11:40
 Sam - 19 août 2003 à 09:17
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 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 19 janvier 2006 21
18 août 2003 à 14:05
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
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 109392 Date d'inscription lundi 16 juillet 2001 Statut Membre Dernière intervention 16 avril 2024 13 613
19 août 2003 à 00:48
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
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