Я работаю в C с библиотекой pcap и пытаюсь создать функцию, которая будет печатать все интерфейсы.
Для этой цели я использую функцию pcap_findalldevs, однако, когда я пытаюсь напечатать имена и описания в a для l oop, печать продолжается вечно и печатает только «любое» для имени и «псевдоустройство, которое захватывает все интерфейсы» для описания.
код:
char errbuff[PCAP_ERRBUF_SIZE];
pcap_if_t *interface_list;
if(pcap_findalldevs(&interface_list, errbuff) == PCAP_ERROR){
fprintf(stderr, "Could not list all interfaces: %s", errbuff);
return ERR;
}
pcap_if_t *interface;
for(interface = interface_list; interface != NULL; interface = interface_list->next){
printf("Name: %s (%s)\n",
interface->name, interface->description);
}
pcap_freealldevs(interface_list);
Есть ли ошибка, которую я пропускаю, или это совершенно неправильно?