questions sur pcap_loop()
voilà je suis entrain d'utiliser la librairie pcap pour récuperer les paquets.
mais j'ai quelques question dessus.
voilà comment j'utilise la fonction :
Code:
1 2
|
pcap_loop(paquet_desc,nb_paquets, got_packet, NULL); |
1/ NULL c'est char *user, j'aimerai savoir à quoi sert vraiment cet argument?
parce-que je ne l'utilise pas dans ma fonction got_packet().
2/ Est-ce qu'il est possible d'arreter pcap_loop pendant la capture des paquets par exemple lorsque l'on appuie sur une touche "Q"?
Merci.
Re: questions sur pcap_loop()
Citation:
Envoyé par [thebadskull
]
1/ NULL c'est char *user, j'aimerai savoir à quoi sert vraiment cet argument?
parce-que je ne l'utilise pas dans ma fonction got_packet().
Le pointeur user est un pointeur vers une zone mémoire que tu peux utiliser pour faire tes calculs, récupérer des données, traiter des informations...
Citation:
Envoyé par [thebadskull
]
2/ Est-ce qu'il est possible d'arreter pcap_loop pendant la capture des paquets par exemple lorsque l'on appuie sur une touche "Q"?
Techniquement, je ne pense pas, je pense que la capture continue et termine le nombre de paquet voulu.
Par contre, si ce que tu veux c'est arrêté la capture pour de bon, c'est-à-dire arrêter le programme, il suffirait de faire pointer le pointeur user vers une case mémoire que tu mettrais à 1 si 'Q' a été appuyé. Si c'est le cas, tu sors du programme ou tu ne traites plus les données...
Faut-il encore pourvoir savoir que la touche Q a été appuyé... Si c'est pour quitter, pourquoi ne pas juste utiliser Control-C?
Jc