Question

Je suis en train d'obtenir le CPU serial ou motherboard serial en utilisant C ou Python à des fins de licence. Est-il possible?

J'utilise Linux.

Était-ce utile?

La solution

Vous devez utiliser l'instruction CPUID.

CPUID

La plupart des compilateurs C ont un soutien pour le montage en ligne, mais vous aurez besoin de savoir ce que vous faites.

Autres conseils

Sous Linux, vous pouvez utiliser « lshw quiet -xml » et analyser sa sortie. Vous trouverez de nombreuses informations sur le système ici: CPUID, id de la carte mère et bien plus encore.

Vous pouvez obtenir le CPUID. Peut-être « dmidecode » commande linux peut vous aider. Vous pouvez exec cette commande, ou charger le code source de « dmidecode ». Vient ensuite la sortie de "dmidecode processeur -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

Dans Linux, peut être trouvé des informations carte mère sous / sys / class / dmi par exemple

$ 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

... mais pas toutes les cartes mères fournissent le numéro de série par DMI ... comme vous pouvez le voir ici.

unités centrales plus obtenir un numéro de série et il a été comme ça pendant un certain temps maintenant. Pour le CPUID - c'est le modèle unique par CPU donc il ne permet pas de licence

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top