diff options
-rw-r--r-- | gethwaddr.c | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/gethwaddr.c b/gethwaddr.c index 2ca2fbb..ceac2cd 100644 --- a/gethwaddr.c +++ b/gethwaddr.c @@ -5,19 +5,24 @@ #include <net/if.h> #include <string.h> -int main( int argc, char *argv[] ) -{ - int s; - struct ifreq ifr; +int main(int argc, char *argv[]) { + int s; + struct ifreq ifr; - s = socket(PF_INET, SOCK_DGRAM, 0); - memset(&ifr, 0x00, sizeof(ifr)); - strcpy(ifr.ifr_name, "eth0"); - ioctl(s, SIOCGIFHWADDR, &ifr); - close(s); + s = socket(PF_INET, SOCK_DGRAM, 0); + memset(&ifr, 0x00, sizeof(ifr)); + strcpy(ifr.ifr_name, "eth0"); + ioctl(s, SIOCGIFHWADDR, &ifr); + close(s); - unsigned char mac_address[6]; - sprintf(mac_address,"%.2X%.2X%.2X%.2X%.2X%.2X", (unsigned char) ifr.ifr_hwaddr.sa_data[0], (unsigned char) ifr.ifr_hwaddr.sa_data[1], (unsigned char) ifr.ifr_hwaddr.sa_data[2], (unsigned char) ifr.ifr_hwaddr.sa_data[3], (unsigned char) ifr.ifr_hwaddr.sa_data[4], (unsigned char) ifr.ifr_hwaddr.sa_data[5]); - printf("%s", mac_address); + unsigned char mac_address[6]; + sprintf(mac_address, "%.2X%.2X%.2X%.2X%.2X%.2X", + (unsigned char) ifr.ifr_hwaddr.sa_data[0], + (unsigned char) ifr.ifr_hwaddr.sa_data[1], + (unsigned char) ifr.ifr_hwaddr.sa_data[2], + (unsigned char) ifr.ifr_hwaddr.sa_data[3], + (unsigned char) ifr.ifr_hwaddr.sa_data[4], + (unsigned char) ifr.ifr_hwaddr.sa_data[5]); + printf("%s", mac_address); } |