源码如下:
char *net_detect(char* net_name){int skfd = 0;struct ifreq ifr;skfd = socket(AF_INET, SOCK_DGRAM, 0);if(skfd < 0) {printf(“%s:%d Open socket error!\n”, __FILE__, __LINE__);return NULL;}strcpy(ifr.ifr_name, net_name);if(ioctl(skfd, SIOCGIFFLAGS, &ifr) <0 ) {printf(“%s:%d IOCTL error!\n”, __FILE__, __LINE__);printf(“Maybe ethernet inferface %s is not valid!”, ifr.ifr_name);close(skfd);return NULL;}if(ifr.ifr_flags & IFF_RUNNING) {return “UP”;} else {return “DOWN”;}}int main(){printf(“%s\n”,net_detect(“eth0”));return 0;}
总结: 该程序是测试 ifconfig 命令中 指定网卡 是有用 RUNNING 。可以配合 ifconfig eth0 up 和 ifconfig eth0 down 测试。
,就会犯错误,就会有无数次让自己跌倒的机会出现,