#include <stdio.h>
#include <sys/socket.h>
#include <string.h>
#include <sys/ioctl.h>
#include <netinet/if_ether.h>
#include <net/if.h>
#include <linux/sockios.h>
int main()
{
char* device="eth0";
unsigned char macaddr[ETH_ALEN];
int s=socket(AF_INET,SOCK_DGRAM,0);
struct ifreq req;
int err;
strcpy(req.ifr_name,device);
err=ioctl(s,SIOCGIFHWADDR,&req);
close(s);
int i=0;
if(err!=-1)
{
memcpy(macaddr,req.ifr_hwaddr.sa_data,ETH_ALEN);
for(i=0;i<ETH_ALEN;i++)
printf("%3d:",macaddr[i]);
printf("/n");
for(i=0;i<ETH_ALEN;i++)
printf("%2x:",macaddr[i]);
printf("/n");
}
else
{
printf("error/n");
}
}
#include <sys/socket.h>
#include <string.h>
#include <sys/ioctl.h>
#include <netinet/if_ether.h>
#include <net/if.h>
#include <linux/sockios.h>
int main()
{
char* device="eth0";
unsigned char macaddr[ETH_ALEN];
int s=socket(AF_INET,SOCK_DGRAM,0);
struct ifreq req;
int err;
strcpy(req.ifr_name,device);
err=ioctl(s,SIOCGIFHWADDR,&req);
close(s);
int i=0;
if(err!=-1)
{
memcpy(macaddr,req.ifr_hwaddr.sa_data,ETH_ALEN);
for(i=0;i<ETH_ALEN;i++)
printf("%3d:",macaddr[i]);
printf("/n");
for(i=0;i<ETH_ALEN;i++)
printf("%2x:",macaddr[i]);
printf("/n");
}
else
{
printf("error/n");
}
}