Nous utilisons des adresses MAC pour identifier les PC sous licence à exécuter des logiciels. (Ne vous souciez pas de spoofing Mac; les licences sont difficiles à obtenir :) Les PC peuvent avoir plusieurs contrôleurs Ethernet (nous ne nous inquiétons pas non plus le cas où il n'y en a pas; Nous n'avons pas rencontré une telle machine dans 5 ans), et il y a donc un problème de choix de manière fiable une stable un. p>
Je pensais que nous avions ceci cloué mais apparemment pas. Nous utilisons gettadaptersinfo Du module Microsoft SDK IPHLPAPI et descendez la liste. Nous utilisons le dernier adaptateur de la même manière que la carte mère est probablement la carte mère Contrôleur Ethernet. Hélas, nous avons rencontré un ThinkPad qui apparaît Pour changer quel contrôleur est en dernier dépend de la question de savoir s'il est amarré ou non. P>
Y a-t-il un moyen de trouver de manière fiable l'adresse MAC pour la carte mère Contrôleur Ethernet sur un système, s'il existe? Et pour ceux cartes mères qui ont 2 ou plus, choisissez l'une d'elles qui est stable? [Si je savais qu'un ensemble était basé à la carte mère, je peux facilement choisir le Adresse la plus basse Mac]. P>
5 Réponses :
Non - il n'y a pas de moyen fiable de le faire. Les dongles USB sont bon marché et faciles - utilisez-les. P>
J'ai eu le "plaisir" d'utiliser un logiciel verrouillé Mac avant et tout ce que je peux dire, ce n'est pas le faire. P>
Accepter. Si nous avons évalué ce logiciel (et plusieurs environnements virtuels), nous l'avions rejeté en raison d'un système de licence Mac Inane Mac ...
J'ai eu le plaisir moi-même. Dans mon cas, le logiciel a choisi une adresse MAC "virtuelle" créée par un logiciel VPN. Devinez ce qui s'est passé quand j'ai désinstallé le logiciel VPN?
Les dongles ne sont pas pratiques pour les produits de 100 $ (dont nous avons une variété). Ils travaillent pour des produits de 1 000,00 $ (dont nous en avons quelques-uns).
C'est un problème boueux. Comment gérez-vous la virtualisation? Sur ma machine, j'ai plusieurs adaptateurs Ethernet, dont un seul est en fait basé sur le matériel. Et mes machines virtuelles ont toutes des adresses MAC générées par logiciels. Et si je veux vraiment, je peux configurer plusieurs VMS sur différents ordinateurs avec la même adresse MAC (pas sur le même réseau, bien sûr). P>
D'accord, ce n'est pas une méthode de licence sage. L'OP devrait mettre en œuvre un autre système.
Je n'ai pas de solution, mais il pourrait y avoir un autre problème: p>
Il existe un logiciel VPN qui crée une carte réseau virtuelle et attribue au hasard une nouvelle adresse MAC à cette carte chaque fois que la connexion VPN est établie. P>
Ce que je veux, c'est l'adresse MAC pour le contrôleur Ethernet sur la carte mère. Cela n'est probablement pas violé par VPNS ou autre chose.
Je ne pense pas qu'il existe un moyen fiable de déterminer quelle interface est "stable". Certainement pas sans creuser dans les détails matériels. P>
Mais si vous avez approché cela différemment. Vous pouvez avoir l'utilisateur choisir l'interface à partir d'une liste à l'installation, ce qui n'est probablement pas très convivial. Ou enregistrer simplement toutes les adresses MAC dans le système et authentifier tant que l'une est toujours active. P>
Aussi pour référence à la commande que les retours GettaDaptersInfo peuvent être modifiés par l'utilisateur à partir du menu Paramètres avancé dans les connexions réseau. P>
Le peu des utilisateurs les dépassant ne me rend pas heureux. Mais probablement pas un gros problème; Presque personne ne le fera.
J'ai aussi fait face au même problème et j'ai trouvé une approche différente ici . P>
Windows stocke la description des cartes réseau physiques dans le registre de HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ NetworkCards. La même description est également répertoriée dans le membre "Description" de la structure IP_ADAPTER_INFO. Je suppose donc que je peux vérifier si cette valeur figure dans le registre pour déterminer si l'adresse MAC appartient à une carte réseau physique ou non. p>