Warum wiederholen sich manche Mac-Adressen so oft?

12

Meine Anwendung fragt Mac-Adressen von Client-Computern ab, auf denen sie ausgeführt wird, und speichert sie auf dem Server. Als ich die Server-Datenbank analysierte, stellte ich fest, dass sich einige Mac-Adressen 100-150 Mal wiederholen. Das heißt, unterschiedliche Client-Computer in unterschiedlichen unabhängigen Organisationen haben dieselben Macs. Einige Mac-Adressen sind also sehr "beliebt". Sie erscheinen auch irgendwie in Google-Ergebnissen. ZB 58-2C-80-13-92-63. Warum passiert das?

Details: Meine App läuft unter Windows, Client-Computer gehören verschiedenen Organisationen an und befinden sich in verschiedenen Städten. Meine App verbindet sich mit dem Webserver und speichert dort einige Statistiken (z. B. Mac-Adressen).

Mike Siomkin
quelle
1
Nun, wenn Sie nachschlagen, wird der Fehler "Hersteller nicht gefunden" angezeigt. Es handelt sich um einen von der Software abgeleiteten MAC, wahrscheinlich eine Form von internem NAT, möglicherweise von Ihrem Router / VPN / Ihrer Firewall.
Chopper3
Misswirtschaft von ihrem Verkäufer, denke ich? Ich hatte einmal einen D-Link-Router mit einem WLAN-MAC von "01: 23: 45: 67: 89: ab" ... Billiger Mist.
Waleed Hamra
Möglicherweise ist die Konfiguration des virtuellen Geräts einfach kopieren / einfügen, ohne die MAC zu ändern (z. B. mit älteren Versionen von Xen ist dies möglich)
Dennis Nolte
Selbst mit neuen Xen-Versionen ist dies möglich, wenn Sie nicht zulassen, dass beim Erstellen von VM-NICs ein neuer MAC generiert wird (z. B. wenn jemand eine Maschinenvorlage verwendet). Sie können dies sogar mit libvirt tun, wenn Sie nur virsh und eine einzelne Vorlage ohne Randomisierungsskript verwenden.
Spooler

Antworten:

17

Bei diesem Beispiel ( 58-2C-80-13-92-63) handelt es sich insbesondere um einen USB-Ethernet-Chip von Huawei. Sieht aus wie sie faul sind und den MAC wiederverwenden. Beispiele von 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

Bei den anderen kann es sich auch um VMs handeln, die herumgereicht werden. Aber die wahrscheinlichste Erklärung (wie andere gesagt haben) ist, dass es billige Hardware ist.

Überprüfen Sie, ob der MAC global eindeutig oder lokal verwaltet ist (markiert als): https://en.wikipedia.org/wiki/MAC_address#Address_details

Die Adresse sollte58:2c:80:13:92:63 theoretisch global eindeutig sein:

0x58 → 1011000

Aber MACs von VMs (zB 58:2c:80:13:92:63) sind nicht:

0x52 → 1010010
MikeyB
quelle
Einige weitere Beispiele: 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. Erstens - sieht aus wie Huawei, sollte global einzigartig sein. (Haben Jungs von Huawei keine Angst vor LAN-Kollisionen? - serverfault.com/questions/462178/… ) Der zweite ist ein Loopback. Andere - ich weiß nicht genau was. Das zweitniedrigste Bit des ersten Oktetts kann 1 oder 0 sein. Das einzige, was ich sehe - im Allgemeinen ist die Einzigartigkeit des Mac ein Mythos :( (auch wenn sie nicht programmgesteuert festgelegt sind).
Mike Siomkin
Eine andere seltsame Sache ist, dass ich Loopbacks in meinem Code if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
herausfiltere
-2

Sie können verschiedene Mac-Adressen nur im lokalen Netzwerk sehen. Wenn IP-Pakete über den Router gesendet werden, wird die MAC-Adresse des Quellhosts in die MAC-Adresse der Ausgangsschnittstelle des Routers geändert. Aus diesem Grund können Sie viele IP-Adressen (die nicht aus Ihrem lokalen Netzwerk stammen) mit derselben Mac-Adresse sehen.

Mikhail Khirgiy
quelle
Nein, so funktioniert das nicht, das sind verschiedene OSI-Schichten. Erreicht Sie eine Remote-IP über einen Router, ordnen Sie dieser MAC nur die (lokale) IP des Routers zu. Ich könnte mir ein sehr exotisches Setup vorstellen, bei dem der Router versucht, so zu tun, als wäre es eine Brücke zum Internet (wer möchte so etwas wirklich?), Aber ein solches Biest funktioniert nicht einmal, und schon gar nicht, indem er alles dahinter maskiert ein einzelner MAC
Hagen von Eitzen
Du hast recht. Es gibt verschiedene OSI-Schichten. Der Router empfängt jedoch ein Paket auf der Low-Ethernet-Ebene, entscheidet dann, was mit diesem Paket auf der IP-Ebene geschehen soll, und sendet es dann auf der Low-Ethernet-Ebene erneut an das nächste Ziel. Aus diesem Grund sendet der Router Pakete mit seiner eigenen Mac-Adresse. Auf der physischen Ethernet-Schicht gibt es keine Routing-Protokolle.
Mikhail Khirgiy
Tatsächlich ist IS-IS ein Routing-Protokoll, das direkt auf der Ethernet-Schicht ausgeführt wird. Aber unabhängig, Systeme würden nie eine Maschine erreichbar über einen Gateway berichten , wie mit dem MAC - Adresse des Gateways.
MikeyB
In Ordnung. Aber was ist mit diesem serverfault.com/questions/36002/…
Mikhail Khirgiy
1. Wie gesagt, ich bekomme die gleichen Macs von Kunden aus verschiedenen Städten (nicht aus einem LAN)! 2. Meine Desktop-Client-App fragt den Mac nach dem Adapter des Computers ab, auf dem sie ausgeführt wird, und sendet ihn dann über den SOAP-Webdienst an den Server. Es kann also nicht der Mac eines Routers sein.
Mike Siomkin