📄 eth.c
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <net/if.h>
#include <netinet/ether.h>
int main(int argc, char **argv)
{
int nSocket,i;
struct ifreq struReq;
char mess[50];
char *mac_addr=mess;
nSocket = socket(PF_INET,SOCK_STREAM,0);
memset(&struReq,0,sizeof(struReq));
if(argc < 2)
strncpy(struReq.ifr_name, "eth0", sizeof(struReq.ifr_name));
else
strncpy(struReq.ifr_name, argv[1], sizeof(struReq.ifr_name));
ioctl(nSocket,SIOCGIFHWADDR,&struReq);
fprintf(stderr, "%d-%s\n", __LINE__, strerror(errno));
//printf("%s\n", ether_ntoa(struReq.ifr_hwaddr.sa_data));
ether_ntoa(struReq.ifr_hwaddr.sa_data);
//sprintf(mess,"%s",ether_ntoa(struReq.ifr_hwaddr.sa_data));
printf("%s\n",mac_addr);
//strupr(mac_addr);
for(i=0;i<strlen(mac_addr);i++)
{
if((mac_addr[i]>=97)&&(mac_addr[i]<=122))
mac_addr[i]-=32;
//toupper(mac_addr[i]);
printf("%c\n",mac_addr[i]);
}
printf("%s\n",mac_addr);
close(nSocket);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -