Testing & QA · 6 Min. Lesezeit

MAC-Adress-Lookup 2026: OUI-Präfixe, I/G- und U/L-Bits

Wie man eine MAC-Adresse korrekt liest: das 48-Bit-Layout, OUI-Präfixe, die I/G- und U/L-Bits, randomisierte Adressen, EUI-64-Link-Local-Umwandlung und Lookup-Fehler.

Von Charlie Simmon ·

Ein MAC-Adress-Lookup beginnt mit 48 Bits und sechs Oktetten, und fast jeder Fehler entsteht dadurch, dass zwei Bits im ersten Oktett ignoriert werden. Das I/G-Bit gibt an, ob der Frame Unicast oder Multicast ist. Das U/L-Bit gibt an, ob das Präfix global zugewiesen oder lokal verwaltet ist. Wer diese Bits falsch liest, bekommt vom Vendor-Lookup überzeugenden Unsinn.

Dieser Leitfaden behandelt das Byte-Layout, die Bit-Nummerierung, die viele verwirrt, warum moderne Geräte ihre Adressen randomisieren, wie aus einer 48-Bit-Adresse ein EUI-64-Interface-Identifier für IPv6 Link-Local wird und welche Fehler ein Lookup-Tool melden sollte, statt zu raten. Er behauptet nicht, dass eine Adresse zu einem echten Gerät gehört; die Tools hier parsen und erzeugen synthetische Werte.

Das 48-Bit-Layout

Eine MAC-48-Adresse besteht aus sechs Oktetten, also 48 Bits, üblicherweise als sechs Hexadezimalpaare geschrieben. Die ersten drei Oktette sind der Organizationally Unique Identifier, die OUI, die die IEEE einem Hersteller zuweist. Die letzten drei vergibt dieser Hersteller, wobei viele Hersteller sie in der Praxis aus einer Seriennummer oder einer Zufallsquelle ableiten.

Hexadezimalziffern werden in der Textform mit dem höchstwertigen Nibble zuerst geschrieben, aber die IEEE überträgt jedes Oktett auf der Leitung mit dem niederwertigsten Bit zuerst. Diese Diskrepanz ist der Grund, warum die Bit-Nummerierung nur beim ersten Oktett alle verwirrt: Bit 0 im Standard bedeutet das niederwertigste Bit dieses ersten Oktetts in der geschriebenen Form, nicht das linkeste Bit der Zeichenkette.

  • Gesamtlänge: 48 Bits, 6 Oktette, 12 Hexadezimalziffern
  • OUI: die ersten 24 Bits, von der IEEE zugewiesen
  • NIC-Teil: die letzten 24 Bits, vom OUI-Inhaber zugewiesen
  • Textform: höchstwertiges Nibble zuerst innerhalb jedes Oktetts
  • Leitungsreihenfolge: jedes Oktett wird mit dem niederwertigsten Bit zuerst übertragen

Das erste Oktett: I/G und U/L

Zwei Bits im ersten Oktett tragen Bedeutung. Bit 0 ist das Individual/Group-Bit: null bedeutet eine Unicast-Adresse für eine Schnittstelle, eins bedeutet eine Gruppen- oder Multicast-Adresse. Bit 1 ist das Universal/Local-Bit: null bedeutet, die Adresse ist global unter einer OUI verwaltet, eins bedeutet, sie wurde lokal zugewiesen, typischerweise durch Software.

Da Hexadezimalziffern vier Bits umfassen, sind diese beiden Bits immer in der letzten Hex-Ziffer des ersten Oktetts kodiert. Deshalb ist das zweite Zeichen des ersten Oktetts bei einer Unicast-Adresse immer gerade und bei einer Multicast-Adresse ungerade, und deshalb erscheinen lokal verwaltete Unicast-Adressen im Muster 02, 06, 0A, 0E, 12 und ähnlich als erstes Oktett randomisierter WLAN-Adressen.

Erstes OktettBinärI/GU/LBedeutung
000000 00000 Unicast0 globalNormale OUI-zugewiesene Schnittstelle
020000 00100 Unicast1 lokalLokal verwaltet, oft randomisiert
010000 00011 Multicast0 globalStandard-Multicast-Gruppe
030000 00111 Multicast1 lokalLokal begrenzte Multicast-Adresse
330011 00111 Multicast1 lokalIPv6-Multicast-MAC, Präfix 33:33
FF1111 11111 Multicast1 lokalBroadcast-Frame

OUI, EUI-48 und die Aufteilung global/lokal

Die OUI ist eine 24-Bit-Zuweisung. Wenn das U/L-Bit null ist, identifizieren die ersten drei Oktette den Zuweisungsempfänger, und ein Lookup im IEEE-Register ist sinnvoll. Wenn das U/L-Bit eins ist, wurden die ersten drei Oktette vom Gerät oder Betriebssystem gewählt, und es kann keinen Registereintrag geben, egal wie plausibel das Präfix aussieht.

Die IEEE vergibt außerdem 36-Bit-Zuweisungen im MA-S-Register, die sich die ersten 24 Bits mit anderen Zuweisungsempfängern teilen und vier weitere Bits im dritten Oktett hinzufügen. Ein Lookup, der nur die ersten drei Oktette prüft, ordnet diese Adressen dem falschen Inhaber zu. Wenn Präzision zählt, prüfen Sie die Zuweisungsgröße, bevor Sie dem Herstellernamen vertrauen.

  • 24-Bit MA-L: klassische OUI, drei Oktette, der Normalfall
  • 28-Bit MA-M: teilt einen 24-Bit-Block mit anderen Zuweisungsempfängern
  • 36-Bit MA-S: teilt einen 24-Bit-Block, fügt vier Bits des dritten Oktetts hinzu
  • U/L-Bit gesetzt: Register komplett überspringen, es gibt keinen Zuweisungsempfänger

Randomisierte Adressen und warum Lookups heute scheitern

Moderne Betriebssysteme rotieren WLAN-Adressen. iOS und macOS verwenden pro Netzwerk eine private Adresse, Android randomisiert pro SSID, und Windows bietet zufällige Hardwareadressen an. All diese setzen das U/L-Bit, das ehrliche Signal dafür, dass das Präfix keine Herstellerzuweisung ist. Lookups, die das Bit ignorieren, liefern einen Herstellernamen für ein Präfix, das niemand je zugewiesen bekam.

Randomisierung untergräbt auch Annahmen in Netzwerkkontrollen. Ein MAC-Filter ist keine Authentifizierung, denn die Adresse wird auf den meisten Plattformen per Software gesetzt. Dieselbe Eigenschaft macht MAC-Adressen als stabile Geräte-ID in Analysen unbrauchbar. Wenn Ihr Produkt eine Lizenz oder einen Gerätedatensatz an einer MAC-Adresse festmacht, zersplittert es in jedem Netzwerk, das Adressen rotiert, und die Adresse lässt sich trivial fälschen.

  • Randomisierte Adresse: U/L-Bit gesetzt, Präfix lokal gewählt
  • Rotation pro Netzwerk bedeutet, der Wert ist keine stabile Geräte-ID
  • MAC-Filterung ist trivial zu umgehen und keine Zugriffskontrolle
  • Virtuelle Maschinen und Container erben oder erzeugen oft lokale Präfixe
  • Immer erst die Bits parsen, bevor ein Herstellerregister befragt wird

EUI-64 und der IPv6-Link-Local-Interface-Identifier

EUI-64 macht aus einer 48-Bit-Adresse in drei Schritten 64 Bits: OUI und NIC-Teil aufteilen, FF:FE dazwischen einfügen und das U/L-Bit umdrehen. Die Einfügung liefert 16 zusätzliche Bits Länge; das umgedrehte Bit erhält die Bedeutung universal/lokal in der 64-Bit-Form, weshalb das Ergebnis modified EUI-64 heißt.

Das Ergebnis wird häufig als Interface-Identifier einer IPv6-Link-Local-Adresse verwendet, die immer in fe80::/10 liegt und beim Verbinden immer einen Zonenindex wie eine Scope-ID erfordert. Privacy-Extensions ersetzen diesen Identifier bei globalen Adressen durch einen zufälligen, aber die abgeleitete Form erscheint weiterhin in Dokumentation, Laboraufbauten und Geräteinventaren.

SchrittWertErklärung
Start-MAC00:1A:2B:3C:4D:5E48-Bit EUI-48
FF:FE einfügen00:1A:2B:FF:FE:3C:4D:5E64-Bit EUI-64
U/L-Bit umdrehen02:1A:2B:FF:FE:3C:4D:5EErstes Oktett 00 wird zu 02
Als IPv6 formatierenfe80::21a:2bff:fe3c:4d5eLink-Local mit diesem Interface-ID

Textformate und wie man sie parst

Dieselben 48 Bits erscheinen in mindestens vier Notationen. Unix und Windows verwenden doppelpunktgetrennte Paare. Windows verwendet manchmal Bindestriche. Cisco verwendet drei Gruppen aus vier Hex-Ziffern, getrennt durch Punkte. Manche Tools geben Großbuchstaben aus, manche Kleinbuchstaben, und manche entfernen Trennzeichen ganz. Ein Parser sollte alle normalisieren und alles ablehnen, was nicht genau 48 Bits hat.

Normalisierung ist wichtig für Vergleiche, nicht für die Speicherung des Originals. Kleinbuchstaben-Doppelpunkt-Notation ist die portabelste kanonische Form. Wenn Sie eine reine 12-stellige Hex-Zeichenkette akzeptieren, machen Sie das explizit, denn stilles Akzeptieren lässt einen Nutzer einen 16-stelligen Hex-Identifier einfügen, der gar keine MAC-Adresse ist.

StilBeispielHäufige Quelle
Doppelpunkt00:1a:2b:3c:4d:5eLinux, macOS, die meisten APIs
Bindestrich00-1a-2b-3c-4d-5eWindows, manche Netzwerkgeräte
Cisco-Punktnotation001a.2b3c.4d5eIOS und verwandte CLIs
Reines Hex001a2b3c4d5eLogs und CSVs, mehrdeutig
Großbuchstaben00:1A:2B:3C:4D:5EDokumentation, Etiketten

Fehler, die ein Lookup melden sollte

Ein gutes Lookup unterscheidet „das ist fehlerhaft“ von „das ist lokal verwaltet“ von „dieses Präfix ist gültig, aber der Zuweisungsempfänger fehlt im lokalen Register“. Alle drei zu „unbekannt“ zusammenzufassen kostet den Aufrufer Zeit, denn die Lösungen sind völlig verschieden.

Längenfehler sind am häufigsten: fünf Oktette, sieben Oktette oder eine 64-Bit-EUI-64, die in ein 48-Bit-Feld eingefügt wurde. Zeichenfehler kommen als Nächstes, meist ein O statt einer Null oder ein I statt einer Eins aus OCR. Dann gibt es die logischen Fälle: Multicast-Adressen, die Broadcast-Adresse und lokal verwaltete Präfixe, die jeweils syntaktisch gültig und semantisch speziell sind.

SymptomUrsacheKorrekte Behandlung
Fünf OktetteAbgeschnittene EinfügungMit Längenfehler ablehnen
Enthält O oder IOCR- oder TippfehlerAls ungültiges Hex ablehnen
U/L-Bit gesetztRandomisierte oder lokale ZuweisungRegister überspringen
I/G-Bit gesetztGruppenadresseKeine Geräteadresse
FF:FF:FF:FF:FF:FFBroadcastAls Schnittstellenadresse ablehnen
16 Hex-ZiffernEUI-64 übergebenAblehnen oder explizit konvertieren

MAC-Fixtures erzeugen, die nicht kollidieren können

Erzeugen Sie für Testdaten immer lokal verwaltete Unicast-Adressen: erstes Oktett auf 02 setzen und das I/G-Bit auf null lassen. Diese Kombination gehört garantiert keinem Hersteller, sodass ein Fixture nie für ein echtes Gerät gehalten werden kann und ein Lookup-Tool korrekt meldet, das Präfix sei lokal, statt einen Hersteller zu erfinden.

Die MAC-Tools der Website arbeiten auf der 48-Bit-Struktur und behaupten nicht, echte Hardware zu identifizieren. Sie parsen die Bits, zeigen die OUI als Bits statt als Herstellergarantie und können eine EUI-64-Form ableiten. Beachten Sie, dass die Website keine Bluetooth-Geräteadressen oder andere 48-Bit-Identifier außerhalb der Ethernet-artigen MAC-Tools erzeugt und überhaupt keine Seriennummern generiert.

  • Für synthetische Unicast-Adressen 02 als erstes Oktett verwenden
  • Nie eine echte Hersteller-OUI mit zufälligem NIC-Teil kombinieren
  • Fixtures in einem dokumentierten Präfix halten, damit sie auffindbar sind
  • Auch in Tests keine MAC-Adressen als stabile Geräte-IDs verwenden

Fragen

Wie viele Bits hat eine MAC-Adresse?+
Achtundvierzig Bits, sechs Oktette, üblicherweise als sechs Hexadezimalpaare geschrieben. EUI-64 erweitert dasselbe Schema auf 64 Bits, indem FF:FE eingefügt und das U/L-Bit umgedreht wird.
Was sagt mir das zweite Zeichen des ersten Oktetts?+
Sein niederwertiges Bit ist das I/G-Bit, also bedeutet ein gerades zweites Zeichen Unicast und ein ungerades Multicast. Das nächsthöhere Bit ist das U/L-Bit, weshalb 02 eine lokal verwaltete Adresse anzeigt.
Warum liefert ein Vendor-Lookup für mein Gerät nichts?+
Die Adresse ist wahrscheinlich randomisiert. Moderne Betriebssysteme setzen das U/L-Bit für private WLAN-Adressen, und einem lokalen Präfix ist kein Hersteller zugewiesen.
Ist eine MAC-Adresse eine zuverlässige Geräte-ID?+
Nein. Sie wird auf den meisten Plattformen per Software gesetzt, rotiert auf Telefonen und Laptops je nach Netzwerk und lässt sich trivial fälschen. Machen Sie keine Lizenzen oder Analysen davon abhängig.
Kann das Tool mir sagen, ob eine MAC-Adresse echt ist?+
Nein. Es parst Struktur und Bits, und ein Register-Lookup kann nur Präfixzuweisungen widerspiegeln, nicht ob ein Gerät existiert. Die Website verifiziert keine Hardware.

Beispiele sind synthetisch. Verwenden Sie eine generierte Adresse nicht für Identitätsprüfungen, Kontoregistrierungen oder Lieferungen.

Referenzstandards

Als Nächstes lesen

Alle Ratgeber