使用 nameif 修改 Linux 網路卡名稱
#include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/ioctl.h> #include <net/if.h> #include <sys/socket.h> #include <linux/sockios.h> int main(void) { char *mac="00:30:48:84:76:07"; char *old="lalala001"; char *new="NBA2000"; int sk; struct ifreq ifr; sk = socket(PF_INET, SOCK_DGRAM, 0); if(sk<0) exit; memset( &ifr, 0, sizeof(struct ifreq)); strcpy(ifr.ifr_name, old); strcpy(ifr.ifr_newname, new); ioctl(sk, SIOCSIFNAME, &ifr); close(sk); return 0; }
Last updated