Linux下获取网卡名称的3种方法

您所在的位置:网站首页 Linux怎么看网卡名 Linux下获取网卡名称的3种方法

Linux下获取网卡名称的3种方法

2024-07-17 18:13| 来源: 网络整理| 查看: 265

在Linux中获取网卡名称的方法如下几种,1和2两种没办法在网卡未分配IP 地址时获取:

1.采用socket方式获取网卡列表

int EthManager::listInterface() {     int fd;     int interface_num = 0,i = 0;     struct ifreq ifbuffer[10];     struct ifconf ifc;     if((fd = socket(AF_INET,SOCK_DGRAM,IPPROTO_IP)) < 0){         goto error_close;     }     ifc.ifc_len = sizeof (ifbuffer);     ifc.ifc_buf = (caddr_t)ifbuffer;     if(!ioctl(fd,SIOCGIFCONF,(char*)&ifc)){         interface_num = ifc.ifc_len / sizeof(struct ifreq);         nameList.clear();         while(i < interface_num){             //如果是本地回环地址,则不插入             if(!(strstr(ifbuffer[i].ifr_name,"lo"))){                 nameList.insert(i,QString(ifbuffer[i].ifr_name));             }             i++;         }     }

    ::close(fd)



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3