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的选项这个记得要勾上哦,然后就好使了。

版权声明:本文为zsgyx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zsgyx/p/10884253.html