linux下C语言获取网卡MAC地址
2016-05-10 14:26
387 查看
原文地址::http://www.cnblogs.com/hnrainll/archive/2012/01/17/2324967.html
相关文章
1、Linux下获取eth网卡MAC地址的代码----http://www.oschina.net/code/snippet_54100_2151
2、linux下有关网卡mac地址的查看方法
----http://gongqinggang.blog.163.com/blog/static/175548152012108103621602/
输入:./mac eth0
显示eth0的MAC地址.
相关文章
1、Linux下获取eth网卡MAC地址的代码----http://www.oschina.net/code/snippet_54100_2151
2、linux下有关网卡mac地址的查看方法
----http://gongqinggang.blog.163.com/blog/static/175548152012108103621602/
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <netinet/in.h> #include <net/if.h> int main(int argc, char *argv[]) { struct ifreq ifreq; int sock = 0; char mac[32] = ""; if(argc < 2){ printf("Usage: ./main eth0"); return 1; } sock = socket(AF_INET,SOCK_STREAM,0); if(sock < 0) { perror("error sock"); return 2; } strcpy(ifreq.ifr_name,argv[1]); if(ioctl(sock,SIOCGIFHWADDR,&ifreq) < 0) { perror("error ioctl"); return 3; } int i = 0; for(i = 0; i < 6; i++){ sprintf(mac+3*i, "%02X:", (unsigned char)ifreq.ifr_hwaddr.sa_data[i]); } mac[strlen(mac) - 1] = 0; printf("MAC: %s\n", mac); return 0; }
输入:./mac eth0
显示eth0的MAC地址.
相关文章推荐
- Linux 学习资料
- Kali Linux 教程 之 Kali Linux 更新源
- linux中unzip命令的使用详解
- CentOS6.5支持NTFS分区
- Linux常用命令(二)有关磁盘空间的命令
- linux下dhcp服务器配置
- Linux下配置本地yum库
- 远程连接Linux
- Linux:守护进程
- linux中curl指令的简要分析
- AWS RHEL7 LAMPP setup and wordpress move
- Linux下安装QT之版本qt-4.6.3
- 如何查看Linux上程序或进程用到的库
- linux基础(16)--linux磁盘管理--RHEL6.5
- 通哥运维笔记之Linux系统管理(二)
- Linux进程含义知多少
- linux操作系统和应用系统设计
- Linux上使用Qt Creator进行C/C++开发
- linux 常用命令
- linux camera ---1