LINUX下獲取IP位址和MAC位址

2021-05-22 04:34:37 字數 1380 閱讀 1214

//判斷網絡卡狀態 

if (buf[int***ce].ifr_flags & iff_up) 

else 

//獲取當前網絡卡的ip位址 

if (!(ioctl (fd, siocgifaddr, (char *) &buf[int***ce]))) 

else 

/* this section can't get hardware address,i don't know whether the reason is module driver*/ 

#ifdef solaris 

//獲取mac位址 

arp.arp_pa.sa_family = af_inet; 

arp.arp_ha.sa_family = af_inet; 

((struct sockaddr_in*)&arp.arp_pa)->sin_addr.s_addr=((struct sockaddr_in*)(&buf[int***ce].ifr_addr))->sin_addr.s_addr; 

if (!(ioctl (fd, siocgarp, (char *) &arp))) 

#else 

#if 0 

/*get hw address of the net card */ 

if (!(ioctl (fd,  siocgenaddr, (char *) &buf[int***ce]))) 

#endif 

if (!(ioctl (fd, siocgifhwaddr, (char *) &buf[int***ce]))) 

#endif 

else 

} //while 

} else 

perror ("cpm: ioctl"); 

} else 

perror ("cpm: socket"); 

close (fd); 

return retn; 

LINUX下獲取IP位址和MAC位址

include include include include include include include include ifdef solaris include endif define maxinte ces 16 main argc,argv register int argc reg...

LINUX下獲取IP位址和MAC位址

gcc o mac mac.c include include include include include include include include ifdef solaris include endif define maxinte ces 16 main argc,argv regis...

linux 下獲取本地IP位址

include include include include include include include include include include include include include include int main int argc,char argv int getloc...