- 論壇徽章:
- 0
|
本想利用 ioctl 獲取MAC地址,利用printf打印出MAC地址,逐個字節(jié)打印,結(jié)果第四個字節(jié)的數(shù)據(jù)打印出4字節(jié),如圖,這個怎么解釋呢
- int main()
- {
- int sockfd,fd;
- struct ifreq tmp;
- bzero(&tmp,sizeof(tmp));
- struct sockaddr *addr=&tmp.ifr_addr;
- sockfd = socket(AF_INET,SOCK_DGRAM,0);
- if(sockfd < 0)
- return 0;
- strcpy(tmp.ifr_name,"ens33");
- fd=ioctl(sockfd,SIOCGIFHWADDR,&tmp);
-
- /*printf("\r\n get sockfd=%d, len:%d %02x:%02x:%02x:%02x:%02x:%02x\r\n",
- sockfd,addr->sa_family,addr->sa_data[0],addr->sa_data[1],addr->sa_data[2],addr->sa_data[3],addr->sa_data[4],addr->sa_data[5]);*/
- printf("\n\r%02x:%02x:%02x:%02x:%02x:%02x\n\r",tmp.ifr_netmask.sa_data[0],tmp.ifr_netmask.sa_data[1],tmp.ifr_netmask.sa_data[2],tmp.ifr_netmask.sa_data[3],
- tmp.ifr_netmask.sa_data[4],tmp.ifr_netmask.sa_data[5]);
- return 0;
- }
復(fù)制代碼 兩種打印形式得到的打印結(jié)果都如下圖
微信截圖_20171208214046.png (75.83 KB, 下載次數(shù): 41)
下載附件
2017-12-08 23:26 上傳
|
|