salut tout le monde bon voila,  j'ai écrit un programme en C sous windows pour faire la capture de paquet avec les fonctions de PACKET32.h :
 
Code :
 - if (PacketReceivePacket(adapter, packet, TRUE)==FALSE)
 -             {
 -               printf(" erreur de PacketReceivePacket" );
 -               PacketFreePacket(packet);
 -               free(buffer);
 -               return -1;
 -             }
 -             ulBytesReceived = packet->ulBytesReceived;
 -             afficher_packet((char*)packet, 42);
 -             ofst=0;
 -             buf=packet->Buffer;
 -             printf("données reçus=%i \n",(packet->ulBytesReceived));
 -        /* Traitement de chaque trame */
 -        while (ofst < packet->ulBytesReceived)
 -        {
 -          printf("TRAITEMENT\n" );
 -        
 -          /*la suite du traitement.......*/
 -        }
 
  | 
 
bon voila mon programme reçoit des paquets (il passe le premier IF) et quand il arrive au traitement il n'accède pas a la boucle WHILE. et a l'affichage j'ai :
 
le paquet:
 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
 
00 00 00 00 00 00 00 00 48 00 80 0F 00 E8 03 00 ........H....è..
 
00 00 00 00 00 00 00 00 70 00                   ........p.
 
données reçus=0 .
 
C'est bizarre car en lançant un sniffer à-côté, ma machine reçoit vraiment des paquets, que mon sniffer les voit comme des paquets vide  
  
bref si quelqu'un peut m'éclairer car la je suis vraiment perdu.
MERCI  
  
 
 ---------------
			
Vive LINUX