关于网卡编程的问题,求高手,真心!

图片说明
如图,我搜出了四个网卡,但只有第二个以太网卡能以监听数据包,那我为什么会搜出其他三个?
部分代码

pcap_if_t *alldevs;
    pcap_t *opend;         //类型不能为pcap_if_t
    pcap_if_t *d;
    char err[PCAP_ERRBUF_SIZE];  //错误缓冲的大小
    int num;
    int i=0;
    Sleep(500);
    cout<<"正在搜索网卡...\n"<<endl;
    Sleep(500);

    if(pcap_findalldevs(&alldevs,err)==-1){
        cout<<"未找到任何网卡!"<<endl;
        return -1;
    }
    //打印网卡,可能有虚拟网卡
    for(d=alldevs;d;d=d->next){
        cout<<++i<<". "<<d->name;
        if(d->description){
            cout<<"("<<d->description<<")"<<endl;
        }else{
            cout<<"(没有描述信息)"<<endl;
        }
    }