获取CPU或主板序列号?

问题描述:

我试图使用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

您需要使用CPUID指令。

CPUID

大多数C编译器有内联汇编了一些支持,但你需要知道你在做什么。

在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

CPU不再获得序列号,现在已经有一段时间了。对于CPUID - 每个CPU型号都是唯一的,因此对许可没有帮助。

您可以获取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

在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提供序列号......如你所见。