Question

Un programme sur lequel je travaille suppose que l'UUID généré par l'appel de l'API RPC de Windows, UuidCreateSequential (), contient l'adresse MAC de l'adaptateur Ethernet principal. Cette hypothèse est-elle correcte ou devrais-je utiliser une méthode différente pour obtenir l'adresse MAC?

Était-ce utile?

La solution

Je ne me fierais pas à cela - la seule raison pour laquelle UuidCreateSequential a l'adresse MAC, c'est qu'il essaie de garantir que l'UUID est unique sur le réseau. De plus, pourquoi utiliseriez-vous un moyen aussi étrange d'obtenir une adresse MAC? Utilisez WMI et réellement demandez l’adresse MAC au lieu d’un effet secondaire d’une fonction de création d’UUID.

Autres conseils

Cela semble être une hypothèse valide. La documentation sur MSDN indique spécifiquement que cela contiendra l'adresse de l'Ethernet. carte sur la machine. Il ne mentionne rien d'un scénario multi-cartes, mais choisir la carte principale semble être un saut logique.

Si vous écrivez du code managé, j'utiliserais le Interface réseau et appelez GetAllNetworkInterfaces () . Ou à partir du code C ++, appelez GetAdaptersInfo , ce que l’implémentation gérée utilise.

Même si UuidCreateSequential fonctionne pour cela, c'est une façon assez obscure d'obtenir les informations et de masquer les problèmes potentiels tels qu'un ordinateur disposant de plusieurs adaptateurs.

Seul un UUID de version 1 contient une adresse MAC, et uniquement si le générateur d'origine avait accès à l'adresse MAC pour commencer. Si le générateur d'origine n'avait pas accès à une adresse MAC, il aurait utilisé 6 octets aléatoires provenant d'un générateur de nombres aléatoires cryptographiquement sécurisé, conformément à la section 4.5 de la RFC 4122. Pour cette raison, rien ne garantit que l'adresse MAC donné dans un UUID est en fait une adresse MAC.

Dans la plupart des cas, la seule raison pour laquelle une personne aurait besoin d'analyser l'adresse MAC à partir d'un UUID est à des fins médico-légales. Voir, par exemple, les UUID incorporés dans le contenu du document Word pour le virus Melissa. Les enquêteurs ont extrait l'adresse MAC de ces ID et l'ont associée à l'adresse MAC de l'adaptateur réseau principal du suspect.

Si vous essayez d'obtenir l'adresse MAC de votre propre ordinateur, il existe de bien meilleures façons de procéder.

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