Aide sur libpcap et le timeout...

Ljungberg15 Messages postés 3 Statut Membre -  
 jojo -
Bonjour,

je suis en train de capturer des paquets avec la librairie libpcap. Pour cela, je règle mon timeout (de capture) dans la fonction pcap_open_live. Ensuite la focntion pcap_next ou pcap_dispatch pour sniffer les paquets.

Le problème, c'est que libpcap bufferise les paquets avant de me les retourner alors que j'aurai besoin de les récupérer DES que libpcap les capturent.

Savez vous comment faire? En effectuant des recherches, je suis tombé sur un paramètre "BIOCIMMEDIATE" mais lors de la compil, il arrive pas à comprendre mon "BIOCIMMEDIATE" (il n'accepte pas les u_int, je ne sais pas quelle include mettre -je n'ai pas de fichier sys/bpf ou qch comme ça sur ma plateforme...-)

Merci d'avance

2 réponses

jojo
 
Bonjour,

j'ai un pb avec les sockets raw:

mon pcap_next ne me renvoie jamais de pointeur null (mais toujours le même pointeur avec le même paquet).
Du coup, lorsque je reçois un paquet il me l'affiche. Puis la fois suivante, il va me réafficher le même alors que je n'en ai pas reçu de nouveau paquet.

comment faire pour éviter qu'à chaque itération il relise l'ancien paquet.

voici un peu de code:

pcap_open_live("test", 65535, promisc,1000, pcap_errbuf);

pcap_next(pcap_session, &rien);
0
jojo
 
bonsoir,

auriez-vous un morceau de code avec pcap_open_live et pcap_next.

merci d'avance
0