2010-11-18 77 views
4

我試圖使用CPython來獲得CPU serialmotherboard serial的許可證。可能嗎?我正在使用Linux獲取CPU或主板序列號?

+2

您定位的是哪個操作系統? – Simone 2010-11-18 14:51:50

+0

看到我的答案.. – Simone 2010-11-18 15:00:42

+0

安裝的網卡的MAC地址如何? – Simone 2010-11-19 08:28:04

回答

3

您需要使用CPUID指令。

CPUID

大多數C編譯器有內聯彙編了一些支持,但你需要知道你在做什麼。

6

在Linux下,您可以使用「lshw -quiet -xml」並解析其輸出。你會在這裏找到大量的系統信息:cpuid,主板ID等等。

+0

+1,僅供參考'ronakin',用'subprocess'調用它,然後你可以解析輸出。 – user225312 2010-11-18 15:04:07

+0

那麼你真的需要告訴我們你的目標是哪個操作系統,或者像CPU一樣用dicroce寫出來 – Simone 2010-11-19 07:39:28

0

CPU不再獲得序列號,現在已經有一段時間了。對於CPUID - 每個CPU型號都是唯一的,因此對許可沒有幫助。

2

您可以獲取CPUID。 也許linux命令'dmidecode'可以幫到你。 您可以執行此命令,或加載「dmidecode」的源代碼。 接下來是 「的dmidecode -t處理器」 輸出:

>dmidecode -t processor 
# dmidecode 2.7 
SMBIOS 2.2 present. 

Handle 0x0004, DMI type 4, 32 bytes. 
Processor Information 
     Socket Designation: Socket 478 
     Type: Central Processor 
     Family: Pentium 4 
     Manufacturer: Intel 
     ID: 27 0F 00 00 FF FB EB BF 
     Signature: Type 0, Family 15, Model 2, Stepping 7 
     Flags: 
       FPU (Floating-point unit on-chip) 
       VME (Virtual mode extension) 
       DE (Debugging extension) 
       PSE (Page size extension) 
       TSC (Time stamp counter) 
       MSR (Model specific registers) 
       PAE (Physical address extension) 
       MCE (Machine check exception) 
       CX8 (CMPXCHG8 instruction supported) 
       APIC (On-chip APIC hardware supported) 
       SEP (Fast system call) 
       MTRR (Memory type range registers) 
       PGE (Page global enable) 
       MCA (Machine check architecture) 
       CMOV (Conditional move instruction supported) 
       PAT (Page attribute table) 
       PSE-36 (36-bit page size extension) 
       CLFSH (CLFLUSH instruction supported) 
       DS (Debug store) 
       ACPI (ACPI supported) 
       MMX (MMX technology supported) 
       FXSR (Fast floating-point save and restore) 
       SSE (Streaming SIMD extensions) 
       SSE2 (Streaming SIMD extensions 2) 
       SS (Self-snoop) 
       HTT (Hyper-threading technology) 
       TM (Thermal monitor supported) 
       PBE (Pending break enabled) 
     Version: Intel(R) Pentium(R) 4 CPU 
     Voltage: 1.5 V 
     External Clock: 133 MHz 
     Max Speed: 3066 MHz 
     Current Speed: 2800 MHz 
     Status: Populated, Enabled 
     Upgrade: ZIF Socket 
     L1 Cache Handle: 0x0008 
     L2 Cache Handle: 0x0009 
     L3 Cache Handle: No L3 Cache 
+0

我在考慮不使用外部程序,而是使用庫函數。無論如何,cpuid不是唯一的,所以我想我不會使用它 – Forge 2010-11-21 07:33:28

2

在Linux中,主板的信息可以在/ sys /班/ DMI如

$ sudo grep '' /sys/class/dmi/id/board_* 
/sys/class/dmi/id/board_asset_tag: 
/sys/class/dmi/id/board_name:30AD 
/sys/class/dmi/id/board_serial: 
/sys/class/dmi/id/board_vendor:Hewlett-Packard 
/sys/class/dmi/id/board_version:KBC Version 56.34 

找到......但並不是所有的主板通過dmi提供序列號......如你所見。