Worum geht’s
Ein unbekanntes Gerät hängt im Netz — die Switch-Tabelle zeigt nur eine MAC-Adresse. Über die ersten Stellen dieser Adresse (den OUI) lässt sich der Hersteller bestimmen. Das hilft beim Inventarisieren, beim Aufspüren fremder Geräte und beim Eingrenzen, was da eigentlich spricht.
Konzept
Eine MAC-Adresse hat 48 Bit (6 Bytes), z. B. B8:27:EB:1A:2B:3C. Sie teilt sich in
zwei Hälften:
- OUI (Organizationally Unique Identifier): die ersten 3 Bytes
(
B8:27:EB). Die IEEE vergibt diese Blöcke an Hersteller — ein OUI = ein Hersteller. - NIC-spezifischer Teil: die letzten 3 Bytes, vom Hersteller je Gerät vergeben.
Zwei Bits im ersten Byte haben Sonderbedeutung:
- I/G-Bit (niedrigstes Bit des ersten Bytes):
0= Unicast,1= Multicast. - U/L-Bit (zweitniedrigstes Bit):
1= lokal verwaltet (z. B. randomisierte Privacy-MACs von Smartphones) — für solche Adressen liefert ein OUI-Lookup keinen echten Hersteller.
Die ersten drei Oktette (OUI) verraten den Hersteller — vergleiche in der Tabelle:
| Port | Gelernte MAC |
|---|
Beispiel-Fall
Gegeben: B8:27:EB:1A:2B:3C.
- OUI = die ersten drei Bytes:
B8:27:EB. - Dieser Block ist der Raspberry Pi Foundation zugeteilt.
- Schluss: Das unbekannte Gerät ist sehr wahrscheinlich ein Raspberry Pi.
- Gegencheck U/L-Bit: Erstes Byte
B8=1011 1000. Das zweitniedrigste Bit ist0→ global verwaltet, der Lookup ist also belastbar (keine randomisierte MAC).
Wäre das U/L-Bit 1 gewesen, müsstest du den Treffer mit Vorsicht behandeln.
Anwenden
Nur die ersten drei Bytes (der OUI) bestimmen den Hersteller — der Rest ist gerätespezifisch.
- Gib die MAC-Adresse B8:27:EB:1A:2B:3C ein.
- Lies den ermittelten Hersteller (Vendor) ab.
- Teste eine MAC mit gesetztem U/L-Bit und beobachte, dass kein eindeutiger Hersteller erscheint.
Selbsttest
Praxis-Challenge
Lies an einem realen Gerät eine MAC-Adresse aus (Router-Oberfläche, arp -a oder
Switch-Tabelle) und bestimme über das Tool den Hersteller. Prüfe zusätzlich am ersten
Byte das U/L-Bit und beurteile, ob der Treffer belastbar ist.
(Erstes Byte binär schreiben, zweitniedrigstes Bit prüfen: 0 = global/belastbar, 1 = lokal/randomisiert.)