如何在linux 中获取本机MAC地址
来源:互联网 发布:网络课程分销 编辑:程序博客网 时间:2024/05/20 11:52
转: http://topic.csdn.net/t/20030826/12/2188587.html
linux 获得:
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <arpa/inet.h>
#include <errno.h>
#define ETH_NAME "eth0"
int main()
{
int sock;
struct sockaddr_in sin;
struct sockaddr sa;
struct ifreq ifr;
unsigned char mac[6];
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1)
{
perror("socket");
return -1;
}
strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
memset(mac, 0, sizeof(mac));
if (ioctl(sock, SIOCGIFHWADDR, &ifr) < 0)
{
perror("ioctl");
return -1;
}
memcpy(&sa, &ifr.ifr_addr, sizeof(sin));
memcpy(mac, sa.sa_data, sizeof(mac));
fprintf(stdout, "%s mac: %.2X:%.2X:%.2X:%.2X:%.2X:%.2X/n", ETH_NAME, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
return 0;
}
linux 获得:
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <net/if.h>
#include <net/if_arp.h>
#include <arpa/inet.h>
#include <errno.h>
#define ETH_NAME "eth0"
int main()
{
int sock;
struct sockaddr_in sin;
struct sockaddr sa;
struct ifreq ifr;
unsigned char mac[6];
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (sock == -1)
{
perror("socket");
return -1;
}
strncpy(ifr.ifr_name, ETH_NAME, IFNAMSIZ);
ifr.ifr_name[IFNAMSIZ - 1] = 0;
memset(mac, 0, sizeof(mac));
if (ioctl(sock, SIOCGIFHWADDR, &ifr) < 0)
{
perror("ioctl");
return -1;
}
memcpy(&sa, &ifr.ifr_addr, sizeof(sin));
memcpy(mac, sa.sa_data, sizeof(mac));
fprintf(stdout, "%s mac: %.2X:%.2X:%.2X:%.2X:%.2X:%.2X/n", ETH_NAME, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
return 0;
}
- 如何在linux 中获取本机MAC地址
- 在linux下 获取本机MAC地址的函数
- 在linux下获取本机MAC地址的函数
- linux中获取本机ip和mac地址
- 如何获取本机所有MAC地址
- 如何获取本机所有MAC地址
- 如何获取本机所有MAC地址
- 如何获取本机的mac地址
- 如何在Node.js中获取本机IP地址
- java中获取本机IP 本机mac地址
- Android中获取本机ip地址和MAC地址
- Android中获取本机ip地址和MAC地址
- 获取本机mac地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机mac地址
- 默认参数——第八章(P240)
- 在C#中实现高性能计时
- MSDN精简版、MSDN绿色版、MSDN VC精简版
- 手机卡密码大全--不太懂的朋友请谨慎用
- 一些有用的工具
- 如何在linux 中获取本机MAC地址
- JDK的动态代理实现调用拦截器中的方法
- ASP.NET中的状态
- CSDN08上海熊熊会
- jdbc 连接sql server 2000的问题
- JPEG 原理详细实例分析及其在嵌入式 Linux 中的应用
- Dictionary
- 学习计划的第2,3天
- IE和火狐的css兼容性问题归总