给大家带来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>
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。
给大家带来linux用C言语读取网卡MAC地点
直到学习Linux这门课以后,我才知道,原来我错了。? 掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。 就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务 学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。 可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
页:
[1]