|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于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[1]);
if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
{
perror("ioctl");
return3;
}
printf("%02x:%02x:%02x:%02x:%02x:%02x
",
(unsignedchar)ifreq.ifr_hwaddr.sa_data[0],
(unsignedchar)ifreq.ifr_hwaddr.sa_data[1],
(unsignedchar)ifreq.ifr_hwaddr.sa_data[2],
(unsignedchar)ifreq.ifr_hwaddr.sa_data[3],
(unsignedchar)ifreq.ifr_hwaddr.sa_data[4],
(unsignedchar)ifreq.ifr_hwaddr.sa_data[5]);
return0;
}
</p>
如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。 |
|