Pourquoi certaines adresses mac se répètent-elles si souvent?

12

Mon application interroge les adresses mac des ordinateurs clients sur lesquels elle s'exécute et les stocke sur le serveur. Lorsque j'ai analysé la base de données du serveur, j'ai constaté que certaines adresses mac se répètent 100 à 150 fois. C'est-à-dire que différents ordinateurs clients dans différentes organisations non liées ont les mêmes macs. Certaines adresses mac sont donc très "populaires". Ils apparaissent également en quelque sorte dans les résultats de Google. Par exemple, 58-2C-80-13-92-63. Pourquoi cela arrive-t-il?

Détails: mon application fonctionne sous Windows, les ordinateurs clients appartiennent à différentes organisations et sont situés dans différentes villes. Et mon application se connecte au serveur Web où elle stocke des statistiques (par exemple, les adresses mac).

Mike Siomkin
la source
1
Eh bien, vous obtenez une erreur `` fournisseur introuvable '' lorsque vous le recherchez - c'est un MAC dérivé du logiciel, probablement une forme de NAT interne, peut-être de votre routeur / VPN / pare-feu.
Chopper3
la mauvaise gestion de leur fournisseur, je suppose? J'ai eu une fois un routeur D-Link qui avait un MAC sans fil de "01: 23: 45: 67: 89: ab" ... Merde bon marché.
Waleed Hamra du
pourrait être une configuration de périphérique virtuel il suffit de copier / coller sans changer le MAC (c'est possible avec les anciennes versions de xen)
Dennis Nolte
Eh bien, même avec les nouvelles versions de Xen, cela est possible si vous ne lui permettez pas de générer un nouveau MAC lors de la création de NIC de VM (par exemple, si quelqu'un utilise un modèle de machine). Vous pouvez même le faire avec libvirt si vous utilisez uniquement virsh et un seul modèle sans script de randomisation.
Spooler

Réponses:

17

Cet exemple en particulier ( 58-2C-80-13-92-63) est une puce Ethernet USB fabriquée par Huawei. On dirait qu'ils sont paresseux et réutilisent le MAC. Exemples de Google:

[50413.229125] cdc_ether 2-1:1.0: eth1: register 'cdc_ether' at usb-0000:00:1d.7-1, CDC Ethernet Device, 58:2c:80:13:92:63

[  122.660069] huawei_cdc_ncm 3-3:1.1 wwan0: register 'huawei_cdc_ncm' at usb-0000:00:14.0-3, Huawei CDC NCM device, 58:2c:80:13:92:63

Les autres pourraient également être un cas de machines virtuelles transmises. Mais l'explication la plus probable (comme d'autres l'ont dit) est qu'il s'agit d'un matériel bon marché.

Pour en discuter, vérifiez si le MAC est (marqué comme) globalement unique ou administré localement: https://en.wikipedia.org/wiki/MAC_address#Address_details

L'adresse 58:2c:80:13:92:63en théorie devrait être unique au monde:

0x58 → 1011000

Mais les MAC des VM (par exemple 58:2c:80:13:92:63) ne seront pas:

0x52 → 1010010
MikeyB
la source
Quelques exemples supplémentaires: 0C-5B-8F-27-9A-64, 02-00-4C-4F-4F-50, 36-4B-50-B7-EF-2D, 02-0C-E7-0B-01- 02, 00-16-76-C9-4E-DE. Tout d'abord - ressemble à nouveau à Huawei, devrait être unique au monde. (Les gars de Huawei n'ont-ils pas peur des collisions LAN? - serverfault.com/questions/462178/… ) Le second est un bouclage. Autres - je ne sais pas quoi exactement. Le deuxième bit le moins significatif du premier octet peut être 1 ou 0. La seule chose que je vois - en général l'unicité de mac est un mythe :( (même si elles ne sont pas programmées).
Mike Siomkin
Une autre chose étrange est que je filtre les bouclages dans mon code:if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
Mike Siomkin
-2

Vous ne pouvez voir différentes adresses mac que dans le réseau local. Lorsque le paquet IP passe par le routeur, l'adresse mac de l'hôte source est remplacée par l'adresse mac de l'interface de sortie du routeur. C'est pourquoi vous pouvez voir de nombreuses adresses IP (qui ne proviennent pas de votre réseau local) avec la même adresse mac.

Mikhail Khirgiy
la source
Non, ce n'est pas comme ça que ça fonctionne, ce sont des couches OSI différentes. Si une adresse IP distante vous parvient via un routeur, vous associez uniquement l'adresse IP (locale) du routeur à ce MAC. Je pourrais imaginer une configuration très exotique où le routeur essaie de faire comme s'il s'agissait d'un pont vers Internet (qui voudrait vraiment une telle chose?), Mais une telle bête ne fonctionnera même pas, et certainement pas en masquant tout derrière un seul MAC
Hagen von Eitzen
Tu as raison. Il existe différentes couches OSI. Mais le routeur récupère le paquet sur la couche Ethernet basse, puis décide quoi faire de ce paquet sur la couche IP et l'envoie à nouveau à la destination suivante sur la couche Ethernet basse. C'est pourquoi le routeur envoie des paquets avec sa propre adresse mac. Il n'y a aucun protocole de routage sur la couche Ethernet physique.
Mikhail Khirgiy
En fait, IS-IS est un protocole de routage qui s'exécute directement sur la couche Ethernet. Mais peu importe, les systèmes ne seraient jamais signaler une machine accessible au - delà d' une passerelle comme ayant l'adresse MAC de la passerelle.
MikeyB
D'accord. Mais qu'en est-il de ce serverfault.com/questions/36002/…
Mikhail Khirgiy
1. Comme je l'ai dit, j'obtiens les mêmes macs de clients de différentes villes (pas d'un LAN)! 2. Mon application cliente de bureau interroge mac de l'adaptateur de l'ordinateur sur lequel elle s'exécute, puis l'envoie au serveur à l'aide du service Web SOAP. Il ne peut donc pas s'agir d'un mac de routeur.
Mike Siomkin