精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux下獲取CPUID、硬盤序列號與MAC地址

運維 系統運維
在很多系統軟件的開發中,需要使用一些系統的唯一性信息。所以,得到主機的CPUID、硬盤序列號及網卡的MAC地址,就成個一件很重要的應用。

在很多系統軟件的開發中,需要使用一些系統的唯一性信息。所以,得到主機的CPUID、硬盤序列號及網卡的MAC地址,就成個一件很重要的應用。

本人經過一番google即自己的鉆研,基本上實現了這幾個功能。需要的準備知識有:

GCC的嵌入匯編,具體的GCC嵌入匯編知識,請參考相關手冊

ioctl系統調用,具體的調用方法,請查看手冊頁

獲取CPUID

按照網上提供的說明,CPUID并不是所有的Intel CPU都支持的。如果支持,匯編調用為:eax置0000_0003,調用cpuid。

以下為實現代碼(在我的CPU上,并沒有得到):

#define cpuid(in,a,b,c,d) asm("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));

static int

getcpuid (char *id, size_t max)

{

int i;

unsigned long li, maxi, maxei, ebx, ecx, edx, unused;

cpuid (0, maxi, unused, unused, unused);

maxi &= 0xffff;

if (maxi < 3)

{

return -1;

}

cpuid (3, eax, ebx, ecx, edx);

snprintf (id, max, "%08lx %08lx %08lx %08lx", eax, ebx, ecx, edx);

fprintf (stdout, "get cpu id: %s\n", id);

return 0;

}

獲取硬盤序列號

這個的實現,采用的是讀取/etc/mtab文件,找到/(即根目錄)掛載的設備文件,然后打開它,再用系統調用ioctl來實現的。

ioctl第二個參數為HDIO_GET_IDENTITY, 獲得指定文件描述符的標志號

ioctl的第三個參數為struct hd_driveid ,在linux/hdreg.h中,struct hd_driveid的聲明有

struct hd_driveid {

unsigned short config; / lots of obsolete bit flags */

unsigned short cyls; /* Obsolete, "physical" cyls */

unsigned short reserved2; /* reserved (word 2) */

unsigned short heads; /* Obsolete, "physical" heads */

unsigned short track_bytes; /* unformatted bytes per track */

unsigned short sector_bytes; /* unformatted bytes per sector */

unsigned short sectors; /* Obsolete, "physical" sectors per track */

unsigned short vendor0; /* vendor unique */

unsigned short vendor1; /* vendor unique */

unsigned short vendor2; /* Retired vendor unique */

unsigned char serial_no[20]; /* 0 = not_specified */

unsigned short buf_type; /* Retired */

unsigned short buf_size; /* Retired, 512 byte increments

* 0 = not_specified

*/

……

};

,這其中,serial_no為硬盤的序列號。如果此項為0,則為沒有提供。

#p#

思路明確了,以下為實現代碼:

static int

getdiskid (char *id, size_t max)

{

int fd;

struct hd_driveid hid;

FILE *fp;

char line[0x100], *disk, *root, *p;

fp = fopen ("/etc/mtab", "r");

if (fp == NULL)

{

fprintf (stderr, "No /etc/mtab file.\n");

return -1;

}

fd = -1;

while (fgets (line, sizeof line, fp) != NULL)

{

disk = strtok (line, " ");

if (disk == NULL)

{

continue;

}

root = strtok (NULL, " ");

if (root == NULL)

{

continue;

}

if (strcmp (root, "/") == 0)

{

for (p = disk + strlen (disk) - 1; isdigit (*p); p --)

{

*p = '\0';

}

fd = open (disk, O_RDONLY);

break;

}

}

fclose (fp);

if (fd < 0)

{

fprintf (stderr, "open hard disk device failed.\n");

return -1;

}

if (ioctl (fd, HDIO_GET_IDENTITY, &hid) < 0)

{

fprintf (stderr, "ioctl error.\n");

return -1;

}

close (fd);

snprintf (id, max, "%s", hid.serial_no);

fprintf (stdout, "get hard disk serial number: %s\n", id);

return 0;

}

獲取MAC地址

通過創建一個socket,然后bind特定的IP地址,就可以通過ioctl得到這個套按地綁定的網絡接口名稱。然后再通過網絡接口名稱,得到MAC地址。

如果ioctl的第二個參數為SIOCGIFNAME, 則獲得指定網絡接口的名稱;如果ioctl的第二個參數為SIOCGIFHWADDR,則獲得指定網絡接口的MAC地址

ioctl的第三個參數為struct ifreq ,在linux/if.h頭文件里,struct ifreq聲明如下:

struct ifreq

{

#define IFHWADDRLEN 6

union

{

char ifrn_name[IFNAMSIZ]; / if name, e.g. "en0" */

} ifr_ifrn;

union {

struct sockaddr ifru_addr;

struct sockaddr ifru_dstaddr;

struct sockaddr ifru_broadaddr;

struct sockaddr ifru_netmask;

struct sockaddr ifru_hwaddr;

short ifru_flags;

int ifru_ivalue;

int ifru_mtu;

struct ifmap ifru_map;

char ifru_slave[IFNAMSIZ]; /* Just fits the size */

char ifru_newname[IFNAMSIZ];

void * ifru_data;

struct if_settings ifru_settings;

} ifr_ifru;

}

#p#

其中,ifrn_name為網絡接口的名稱,ifr_ifru.ifru_hwaddr為網絡接口的MAC地址。

#ifndef MAX_IFINDEX

# define MAX_IFINDEX 8

#endif

static int

getmacaddr (const char *ip, char *id, size_t max)

{

int i, sockfd;

struct sockaddr_in *loc;

struct ifreq req[1];

sockfd = socket (AF_INET, SOCK_DGRAM, 0);

if (sockfd < 0)

{

fprintf (stderr, "Unable to create socket.\n");

return -1;

}

for (i = 0; i <= MAX_IFINDEX; ++ i)

{

req->ifr_ifindex = i;

if (ioctl (sockfd, SIOCGIFNAME, req) < 0)

{

fprintf (stderr, "ioctl error: %s\n", strerror (errno));

continue;

}

if (ioctl (sockfd, SIOCGIFADDR, req) < 0)

{

fprintf (stderr, "ioctl interface index [%d] error: %s\n", i, strerror (errno));

continue;

}

loc = (struct sockaddr_in *) (&(req->ifr_ifru.ifru_addr));

if (loc->sin_addr.s_addr == inet_addr (ip))

{

fprintf (stderr, "%s bind at %s.\n", ip, req->ifr_name);

break;

}

}

if (i > MAX_IFINDEX)

{

fprintf (stderr, "input IP error.\n");

close (sockfd);

return -1;

}

if (ioctl (sockfd, SIOCGIFHWADDR, req) < 0)

{

fprintf (stderr, "ioctl error: %s\n", strerror (errno));

close (sockfd);

return -1;

}

close (sockfd);

snprintf (id, max, "%02X%02X%02X%02X%02X%02X",

req->ifr_hwaddr.sa_data[0] & 0xff,

req->ifr_hwaddr.sa_data[1] & 0xff,

req->ifr_hwaddr.sa_data[2] & 0xff,

req->ifr_hwaddr.sa_data[3] & 0xff,

req->ifr_hwaddr.sa_data[4] & 0xff,

req->ifr_hwaddr.sa_data[5] & 0xff);

fprintf (stdout, "MAC address of %s: [%s].\n", req->ifr_name, id);

return 0;

}

【編輯推薦】

  1. Linux環境下雙網卡主機路由配置
  2. linux下如何破解windows密碼
  3. Linux下配置JDK和Tomcat
責任編輯:趙寧寧 來源: chinaitlab
相關推薦

2010-01-11 17:49:36

VB.NET硬盤序列號

2023-12-29 08:22:52

lsblk命令存儲

2009-09-04 08:17:04

Windows 7序列號檢查器

2009-02-09 15:51:48

Windows 7序列號免費

2011-04-19 09:25:51

2009-09-14 08:36:21

Windows 7正版序列號

2009-12-04 13:56:58

安裝Windows 7

2011-04-19 09:30:33

2011-07-11 15:20:15

MAC地址java

2019-10-12 00:03:07

MyCat數據庫分庫分表

2009-12-07 17:17:00

Windows 7操作

2011-08-30 15:19:07

2018-08-19 20:00:20

Linux命令系統硬件

2024-09-23 12:10:00

C#MAC代碼

2010-09-02 17:27:18

SQL Server安裝

2009-07-24 10:38:35

ASP.NET獲取MA

2010-01-11 18:21:22

VB.NET獲取硬盤信

2009-11-11 08:57:48

Windows 7升級序列號

2021-12-07 05:53:36

IDMWindows 運維

2009-12-09 09:52:57

ibmdwFileNet
點贊
收藏

51CTO技術棧公眾號

在线播放第一页| 国产精品毛片a∨一区二区三区| 亚洲一区在线观看视频| 亚洲视频在线观看视频| 精品国产一区二区三区无码| 特级西西444www大胆免费看| 红杏一区二区三区| 亚洲欧美在线aaa| 国产福利视频一区二区| www.黄色网| 国产网站在线免费观看| 国产主播性色av福利精品一区| 中文欧美字幕免费| 国产成人亚洲精品| 日韩在线观看视频一区二区| 97人人做人人爽香蕉精品| 久久综合九色综合欧美亚洲| 久久久久国产精品www| www.污网站| 香蕉视频免费在线播放| 七七婷婷婷婷精品国产| 国产一区二区三区高清在线观看| 欧美成人三级在线视频| 亚洲av永久纯肉无码精品动漫| 91综合久久| 精品视频一区二区不卡| 日本在线视频一区| 国语对白做受69按摩| 欧美猛男做受videos| 岛国av一区二区三区| 精品无人乱码一区二区三区的优势 | 国产精品美女久久久久av福利| 91麻豆精品久久毛片一级| 欧美黑人粗大| 亚洲国产电影在线观看| 狠狠色综合一区二区| 99热这里只有精品在线观看| 一区二区三区四区在线观看国产日韩| 这里只有精品视频在线观看| 在线观看污视频| 成人免费观看在线视频| 久久久www| 色爱精品视频一区| 捷克做爰xxxⅹ性视频| 福利视频一区| 欧美性受xxxx| 国内外成人激情免费视频| av在线资源站| 国产不卡视频在线播放| 久久久久久久久久久免费| 国产免费美女视频| 国产精品久av福利在线观看| 欧美一级久久久久久久大片| 九一国产精品视频| 动漫一区二区| 久久久国产精华| 国产免费成人av| 国产在线视频第一页| 中文字幕精品影院| 欧美一级二级三级乱码| 亚洲天堂av一区二区三区| 欧美黄页免费| 亚洲成av人片一区二区| 亚洲精品乱码视频| 日韩一级在线播放| 麻豆免费精品视频| 久久噜噜噜精品国产亚洲综合| 男人天堂av电影| 国产精品777777在线播放| 欧美日韩国产中文精品字幕自在自线 | 97国产精品免费视频| x88av在线| 日韩一区二区三区精品| 日韩欧美成人区| 91看片淫黄大片91| av资源在线看片| 国产精品伦理一区二区| 伊人久久大香线蕉成人综合网| 亚洲卡一卡二卡三| 波多野结衣中文字幕一区| 国产精品入口日韩视频大尺度| 人妻久久一区二区| 好吊日精品视频| 最近2019年日本中文免费字幕| 日本高清黄色片| 欧美一区 二区| 欧美一区二区人人喊爽| 亚洲狼人综合干| 免费在线中文字幕| 国产精品成人网| 欧美日韩成人一区二区三区| 国内毛片毛片毛片毛片| www.色精品| av成人观看| 一级日韩一级欧美| 日韩在线播放一区二区| 69av成年福利视频| 免费在线视频观看| 91精品国产调教在线观看| 国产午夜精品一区二区三区| 小早川怜子一区二区的演员表| 在线精品一区| 久久久久久91| 亚洲天堂视频在线播放| 国产精品一区二区久激情瑜伽| 国产精品吴梦梦| www.久久久久久| 国产成人在线免费观看| 成人免费自拍视频| 中文字幕一级片| 日本在线不卡视频一二三区| 亚洲一区二区中文字幕| 97超视频在线观看| 91麻豆国产福利精品| 精品免费国产| 国产秀色在线www免费观看| 欧美性xxxx| 99中文字幕在线| 欧美日韩爱爱| 69av在线播放| 亚洲欧美另类综合| 亚洲男人的天堂av| 亚洲激情免费视频| 亚洲四虎影院| 7777精品伊人久久久大香线蕉超级流畅| 欧美一级大片免费看| 欧美a级片视频| 国产成人久久久| 婷婷色在线视频| 2020国产精品| 国产一二三区在线播放| 波多野一区二区| 91久久久免费一区二区| 中文字幕天天干| 成人豆花视频| 中文字幕日韩综合av| 日本裸体美女视频| 石原莉奈一区二区三区在线观看| 国产精品专区一| 久久精品国产亚洲a∨麻豆| 亚洲国产精品国自产拍av| 亚洲欧洲日产国码无码久久99| 日韩影片中文字幕| 亚洲精品日韩在线| 美女av免费看| 欧美精品网站| 日本高清视频一区| 亚洲性在线观看| 国产99精品在线观看| 一本二本三本亚洲码| √最新版天堂资源网在线| 欧美mv和日韩mv的网站| 国产真实乱人偷精品人妻| 国产国产精品| 69精品小视频| 五月激情婷婷网| 亚洲丝袜另类动漫二区| 国产一区二区在线视频播放| 国产伊人久久| 日韩亚洲欧美中文在线| 国产成人无码精品| 麻豆成人在线观看| 亚洲日本欧美在线| 爱啪啪综合导航| 亚洲精品视频中文字幕| 无码人妻精品一区二区三区9厂| 激情六月婷婷综合| 久久精品日产第一区二区三区精品版| 91伦理视频在线观看| 亚洲成人第一页| 手机av在线免费| 亚洲伊人春色| 国产精品va在线播放| 韩国av免费在线观看| 五月天中文字幕一区二区| 国产精品69页| 国产精品国产| 2018国产精品视频| 国产剧情在线观看| 午夜精品福利一区二区蜜股av | 精品视频91| 亚洲一品av免费观看| 中文字幕一区二区人妻| 亚洲精品国产精华液| 九色91popny| 无码日韩精品一区二区免费| 久国内精品在线| 一区二区www| 洋洋成人永久网站入口| 国产精欧美一区二区三区白种人| 九热爱视频精品视频| 国产精品偷伦视频免费观看国产| 在线免费观看的av| 51午夜精品国产| 日韩精品无码一区二区| 国产盗摄一区二区三区| 97国产在线播放| 婷婷综合亚洲| 蜜桃成人在线| 香蕉伊大人中文在线观看| 精品对白一区国产伦| 久久精品99国产精| 久久久久久久精| 国产在线a视频| 亚洲综合婷婷| 青娱乐国产91| gay欧美网站| 亚洲人成77777在线观看网| 国产美女主播在线观看| 中文字幕一区三区| 国产精品伦子伦| 国产精品一区毛片| 精品一区久久久| 国产精品白丝久久av网站| 日av在线播放中文不卡| 国产盗摄在线视频网站| 精品国产一区二区三区四区在线观看| 日本中文字幕电影在线观看| 欧美日韩在线另类| 免费在线观看h片| 亚洲国产电影在线观看| 超碰97在线资源站| 国产suv精品一区二区6| 911福利视频| 男人操女人的视频在线观看欧美| 亚洲国产一区二区三区在线播| 红杏成人性视频免费看| 欧美有码视频| 亚洲美女高潮久久久| 亚洲欧美网站| 欧美精品成人一区二区在线观看| 国产精品高清一区二区| 国产精品天天狠天天看| 欧美色999| 最近中文字幕2019免费| 日中文字幕在线| 亚洲国产精品999| 秋霞av一区二区三区| 亚洲777理论| 激情五月婷婷小说| 亚洲人精品午夜| 国产美女高潮视频| 国产精品国产三级国产aⅴ中文| 免费看黄色av| 国产亚洲成av人在线观看导航| 网站一区二区三区| 日日嗨av一区二区三区四区| 男人靠女人免费视频网站| av不卡免费看| 一本一道久久a久久综合精品| 中文字幕精品影院| 日韩.欧美.亚洲| 欧美日韩激情| 91大片在线观看| 欧美freesex| 日韩av免费在线看| 1区2区3区在线视频| 久久视频在线直播| 日韩在线免费看| 亚洲男人第一av网站| 国产免费的av| 日韩限制级电影在线观看| www.国产免费| 日韩的一区二区| 国产三级三级在线观看| 欧美一区二区私人影院日本| 国产丝袜在线视频| 精品国内二区三区| 亚洲 欧美 自拍偷拍| 亚洲女人天堂av| 生活片a∨在线观看| 美女性感视频久久久| 黄色网址在线播放| 一区二区三区亚洲| 天天综合天天色| 亚洲人成电影在线播放| 91露出在线| 欧美激情乱人伦一区| 在线观看美女网站大全免费| 久久精品久久久久久国产 免费| 青青色在线视频| 在线电影av不卡网址| 超碰最新在线| 中文字幕最新精品| 99自拍视频在线观看| 91精品国产色综合| 日韩经典一区| 成人av电影免费| 国产成人3p视频免费观看| 国产精品日韩一区二区| 美女毛片一区二区三区四区最新中文字幕亚洲| 欧美亚洲另类在线一区二区三区| 99精品视频在线观看播放| 日韩一级片免费视频| 日本aⅴ免费视频一区二区三区| 国产999免费视频| 激情久久久久久久久久久久久久久久| 特种兵之深入敌后| 久久久久99精品国产片| avove在线播放| 亚洲婷婷综合色高清在线| 国产 日韩 欧美 成人| 91高清视频在线| 亚洲AV无码一区二区三区性 | 真实国产乱子伦精品一区二区三区| 免费人成在线观看视频播放| 日本伊人色综合网| japanese在线观看| 国产精品99久久久久| 五月婷婷综合在线观看| 2020国产精品| 青青草原国产视频| 欧美日韩在线三级| 亚洲 欧美 自拍偷拍| 欧美人与性动交| 日韩经典一区| 欧美精品欧美精品| 亚洲日韩成人| 国产肥臀一区二区福利视频| 国产在线精品免费av| caoporm在线视频| 国产婷婷精品av在线| 国产做受高潮漫动| 日韩一区二区免费视频| 91在线看黄| 国产精品h片在线播放| 久久人人爽人人爽人人片av不| 在线播放 亚洲| 奇米精品一区二区三区在线观看| 一本色道综合久久欧美日韩精品| 久久综合久久鬼色| 国产女同在线观看| 精品对白一区国产伦| 羞羞的网站在线观看| 久久频这里精品99香蕉| 国产免费av国片精品草莓男男| 色中色综合成人| 欧美在线三级| 91日韩精品视频| 国产精品美女久久久久久| 久久精品99北条麻妃| 国产亚洲一区精品| 欧美日韩五码| 少妇精品久久久久久久久久| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲**毛片| 欧美交换配乱吟粗大25p| 亚洲久久一区二区| 午夜免费福利影院| 国产人伦精品一区二区| 蜜桃av免费在线观看| 欧美在线看片a免费观看| 久久久久久久久亚洲精品| zzijzzij亚洲日本成熟少妇| 九色成人搞黄网站| 亚洲国产日韩综合一区| 久久精品国产第一区二区三区| 国产一级淫片久久久片a级| 欧美日韩不卡在线| 你懂的网站在线| 97在线视频免费| 美女精品一区最新中文字幕一区二区三区 | 中文字幕黄色网址| 欧美军同video69gay| 色窝窝无码一区二区三区| 久久久久亚洲精品| 天堂99x99es久久精品免费| 久久无码高潮喷水| 国产精品日产欧美久久久久| 91精品国产综合久| 欧美另类极品videosbestfree| 超碰成人免费| 手机看片日韩国产| 国产寡妇亲子伦一区二区| 国产精品二区一区二区aⅴ| 精品呦交小u女在线| av亚洲一区二区三区| 婷婷视频在线播放| 成人免费毛片a| 三上悠亚在线观看视频| 精品奇米国产一区二区三区| 九九色在线视频| 国产经品一区二区| 亚洲精品a级片| 欧洲熟妇的性久久久久久| 动漫精品一区二区| 瑟瑟视频在线| 精品在线观看一区二区| 免费成人av在线| 精品在线免费观看视频| 91精品黄色片免费大全| av在线播放资源| 亚洲不卡中文字幕| 国产一区视频在线看| 久草国产精品视频| www.日韩.com| 亚洲人成网www| 国产调教打屁股xxxx网站| 色狠狠桃花综合| 国产福利在线免费观看|