Comment utiliser le “pcap_lookupdev ()” dans libpcap?

Le code ne trouve aucun périphérique, je veux savoir ce que fait pcap_lookupdev ()? Merci

#include  int main(int argc, char *argv[]) { pcap_t *handle; char *dev;// = "eth0"; char errbuf[PCAP_ERRBUF_SIZE]; dev = pcap_lookupdev(errbuf); if (dev == NULL) { fprintf(stderr, "Couldn't find default device: %s\n", errbuf); return(2); } printf("Device: %s\n", dev); return(0); handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf); if (handle == NULL) { fprintf(stderr, "Couldn't open device %s: %s\n", dev, errbuf); return(2); } } 

pcap_lookupdev semble simplement renvoyer le premier périphérique qu’il peut trouver (le cas échéant) à l’exception du périphérique en boucle.

Est-ce que vous exécutez ceci en tant que root? Les utilisateurs normaux ne seront pas autorisés à ouvrir ou à inspecter ces périphériques.

Personnellement, je trouve pcap_lookupdev plutôt inutile car vous n’avez pas vraiment le contrôle sur le périphérique qu’il vous donne.

Lorsque vous comstackz la programmation pcap. Vous devez mentionner -lpcap à la fin du fichier programe avec le privilège root. Par exemple.

 #gcc YourFileName.c -lpcap #./a.out or #gcc -Wall -o YourFileName YourFileName.c -lpcap #./YourFileName 

Ici, # indique l’utilisateur root, gcc est GNU Comstackr Collection, -lpcap indique utiliser la bibliothèque libpcap

Le code doit être compilé, lié et exécuté en tant que root:

 sudo gcc -o dev-find dev-find.c lpcap 

a travaillé pour moi.