#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <string.h> #include <net/if.h> #include <sys/ioctl.h> int main() { int i=0; int sockfd; struct ifconf ifc; unsigned char buf[512]; struct ifreq *ifr; //初始化ifconf ifc.ifc_len = 512; ifc.ifc_buf = buf; if((sockfd = socket(AF_INET, SOCK_DGRAM, 0))<0) { perror("socket"); exit(1); } ioctl(sockfd, SIOCGIFCONF, &ifc); //获取所有接口信息 //接下来获取逐个网卡的名称 ifr = (struct ifreq*)buf; for(i=(ifc.ifc_len/sizeof(struct ifreq)); i>0; i--) { printf("name = [%s]\n", ifr->ifr_name); ifr++; } return 0; }
linux获取网卡名称
猜你喜欢
转载自blog.csdn.net/w77_20/article/details/80257869
今日推荐
周排行