日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux下獲得MAC地址

 漢江秋月夜 2012-09-22
linux下獲得MAC地址
2012-05-02 11:34:03
標(biāo)簽:linux mac

 原:http://topic.csdn.net/t/20061229/13/5264223.html

看到經(jīng)常有人問(wèn)如何在linux中獲取MAC地址,我干脆把代碼貼出來(lái),方法就是用ioctl(   SIOCGIFHWADDR   ); 


#include <stdio.h> 
#include <string.h> 
#include <unistd.h> 
#include <net/if.h> 
#include <sys/ioctl.h> 
#include <sys/types.h> 
#include <sys/socket.h> 

int GetMac(   const   char   *ifname,   unsigned   char   *mac   ) 

int sock,   ret; 
struct ifreq ifr; 
sock   =   socket(   AF_INET,   SOCK_STREAM,   0   ); 
if   (   sock   <   0   )   { 
perror(   "socket "   ); 
return   -1; 

memset(   &ifr,   0,   sizeof(ifr)   ); 
strcpy(   ifr.ifr_name,   ifname   ); 
ret   =   ioctl(   sock,   SIOCGIFHWADDR,   &ifr,   sizeof(ifr)   ); 
if   (   ret   ==   0   )   { 
memcpy(   mac,   ifr.ifr_hwaddr.sa_data,   6   ); 
}   else   { 
perror(   "ioctl "   ); 

close(   sock   ); 
return   ret; 


int main(   int   argc,   char   **argv   ) 

int ret; 
char ifname[IFNAMSIZ]; 
unsigned   char mac[6]; 
if   (   argc   ==   1   )   { 
strcpy(   ifname,   "eth0 "   ); 
}   else   { 
strcpy(   ifname,   argv[1]   ); 


memset(   mac,   0,   sizeof(mac)   ); 
ret   =   GetMac(   ifname,   mac   ); 
if   (   ret   ==   0   )   { 
printf(   "%s   mac   address   is:   [%02X:%02X:%02X:%02X:%02X:%02X]\n ",   ifname,   mac[0],   mac[1],   mac[2],   mac[3],   mac[4],   mac[5]   ); 
}   else   { 
fprintf(   stderr,   "Can 't   get   %s 's   mac   address\n ",   ifname   ); 

return   0; 

 

還有這里 http://www./problems/60540

-------------------------------------------------------------

博主注:官方的文檔可以看這里:http://linux./man/7/netdevice

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多