使用winpcap接口找不到设备
window xp系统使用pcap_findalldevs或者pcap_findalldevs_ex查找设备时,找不到网卡!
主要信息如下:
winpcap.exe:4.1.3
系统重装后使用正常,能找到name、description;但是电脑重启之后就使用pcap_findalldevs找不到网卡了,但是此时电脑能够正常上网。
重启后的错误信息:no interfaces found!make sure libpcap/winpcap is properly installed on the local machine
代码如下:
nt main(int argc, char** argv) { pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* 获取本地机器设备列表 */ if (pcap_findalldevs(&alldevs, errbuf) == -1) { fprintf(stderr,"Error in pcap_findalldevs_ex: %s\n", errbuf); exit(1); } /* 打印列表 */ for(d = alldevs; d != NULL; d= d->next) { printf("%d. %s", ++i, d->name); if (d->description) printf(" (%s)\n", d->description); else printf(" (No description available)\n"); } if (i == 0) { printf("\nNo interfaces found! Make sure WinPcap is installed.\n"); getchar(); return 1; } /* 不再需要设备列表了,释放它 */ pcap_freealldevs(alldevs); getchar(); return 0; }
解决办法:winPcap4.1.3最后安装完成的时候有个开机启动bootdriver的选项这个记得要勾上哦,然后就好使了。