0 votes

aide à l'utilisation de la bibliothèque pcap pour renifler des paquets

J'utilise les codes d'exemple de pcap pour créer mon propre sniffer. j'ai téléchargé leur sample sniffer et il fonctionne sous Windows mais pas sous linux. j'utilise le compilateur gcc sur les deux machines, et j'ai seulement pcap.h inclus.
l'erreur est : déréférencer un pointeur vers un type incomplet.
Le masque de réseau est à l'origine de l'erreur. Le masque de réseau est le masque de la première adresse de l'interface.

u_int netmask=netmask((struct sockaddr_in*)d->addresses->netmask))->sin_addr.S_un.S_addr;  

des solutions ?

0voto

caf Points 114951

Le compilateur indiquant qu'il ne dispose pas de la définition de struct sockaddr_in dans la portée, donc il ne peut pas regarder à l'intérieur d'une telle structure. Sous Linux, cette structure est définie dans cet en-tête, que vous devrez inclure :

#include <netinet/in.h>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X