CRC

SnowBlade360 Messages postés 3 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 10 avril 2004 - 7 avril 2004 à 14:18
cs_boniface Messages postés 1 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 24 novembre 2004 - 24 nov. 2004 à 16:23
Bonjour !
Je travail actuellement sur un sniffer sous Visual.net.
J'ai crée une socket et j'aimerais pouvoir tester mon crc.
Je ne recupere que la partie IP et TCP de la trame ainsi que la donner.
C'est un CRC16 ça j'en suis sur et j'ai le checksum de la partie IP.
Merci de me dirre comment faire.
Le probléme etant que je recuperer de temps en temps 2 fois la même trame car elle a été renvoier 2 fois et moi je voudais avoir que la bonne des deux.
Merci d'avance
SnoBlade360

3 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
7 avril 2004 à 14:33
voila une méthode pour calculer un crc16 :


unsigned short int Ccitt16Table[ 256 ]; 
void BuildTable16( ) 
{ 
    int i; 
    int j; 
    int k; 
    int crc; 

    for ( i = 0 ; i < 256 ; i++ ) { 
        k = i << 8; 
        crc = 0; 
        for ( j = 0 ; j < 8 ; j++ ) { 
            if ( ( crc ^ k ) & 0x8000 ) 
                crc = ( crc << 1 ) ^ 0x1021; 
            else 
                crc <<= 1; 
            k <<= 1; 
        } 
        Ccitt16Table[ i ] = crc; 
    } 
} 
#define  CalculateCharacterCRC16(crc,c) (unsigned short int) ( ( crc << 8 ) ^ Ccitt16Table[ (crc >> 8 ) ^ c ] ) 
0
SnowBlade360 Messages postés 3 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 10 avril 2004
10 avril 2004 à 16:58
Merci mais moi j'ai une trame et comment je fait pour me servir de cette Méthode ?
Car moi je recupere ma trame dans un buffer de 8192 place donc comment on fait
Merci d'avance pour ta reponse
SnowBlade 360
0
cs_boniface Messages postés 1 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 24 novembre 2004
24 nov. 2004 à 16:23
Salut à tous. j'aimerai bien que quelqu'un m'explique comment fonctionne un crc32.
0
Rejoignez-nous