灵魂腐蚀 发表于 2015-1-16 14:47:34

给大家带来linux用C言语读取网卡MAC地点

对于linux命令,一定要学会用man和info去查他们的解释;
想猎取硬盘和CPU的序列号,看了hdparm源码,编译后运转,但是没能猎取到硬盘的序列号,那就尝尝读网卡的MAC地点了,这是在网上找到的代码。
#include<stdio.h>
#include<sysioctl.h>
#include<syssocket.h>
#include<netinetin.h>
#include<NETif.h>
#include<string.h>
intmain(intargc,char*argv[])
{
structifreqifreq;
intsock;
if(argc!=2)
{
printf("Usage:ethname
");
return1;
}
if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
{
perror("socket");
return2;
}
strcpy(ifreq.ifr_name,argv);
if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
{
perror("ioctl");
return3;
}
printf("%02x:%02x:%02x:%02x:%02x:%02x
",
(unsignedchar)ifreq.ifr_hwaddr.sa_data,
(unsignedchar)ifreq.ifr_hwaddr.sa_data,
(unsignedchar)ifreq.ifr_hwaddr.sa_data,
(unsignedchar)ifreq.ifr_hwaddr.sa_data,
(unsignedchar)ifreq.ifr_hwaddr.sa_data,
(unsignedchar)ifreq.ifr_hwaddr.sa_data);
return0;
}
</p>
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。

飘灵儿 发表于 2015-1-16 18:49:31

给大家带来linux用C言语读取网卡MAC地点

直到学习Linux这门课以后,我才知道,原来我错了。?

老尸 发表于 2015-1-18 21:06:58

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。

愤怒的大鸟 发表于 2015-1-27 21:09:07

就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务

柔情似水 发表于 2015-2-5 15:14:42

学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。

深爱那片海 发表于 2015-2-12 15:54:29

可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。?

分手快乐 发表于 2015-3-3 04:15:18

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

小妖女 发表于 2015-3-18 10:23:54

Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。

仓酷云 发表于 2015-3-25 20:32:17

Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
页: [1]
查看完整版本: 给大家带来linux用C言语读取网卡MAC地点