Test e QA · 6 min di lettura

Ricerca indirizzo MAC nel 2026: prefissi OUI, bit I/G e U/L

Come leggere correttamente un indirizzo MAC: struttura a 48 bit, prefissi OUI, bit I/G e U/L, indirizzi randomizzati, conversione link-local EUI-64 ed errori di ricerca.

Di Charlie Simmon ·

Una ricerca di indirizzo MAC parte da 48 bit e sei ottetti, e quasi tutti gli errori derivano dall'ignorare due bit all'interno del primo ottetto. Il bit I/G indica se il frame è unicast o multicast. Il bit U/L indica se il prefisso è assegnato globalmente o amministrato localmente. Sbagliare questi bit fa sì che una ricerca del produttore restituisca assurdità con sicurezza.

Questa guida copre la struttura dei byte, la numerazione dei bit che trae in inganno, perché i dispositivi moderni randomizzano i loro indirizzi, come un indirizzo a 48 bit diventa un identificatore di interfaccia EUI-64 per il link-local IPv6, e gli errori che uno strumento di ricerca dovrebbe segnalare invece di indovinare. Non afferma che alcun indirizzo appartenga a un dispositivo reale; gli strumenti qui analizzano e generano valori sintetici.

La struttura a 48 bit

Un indirizzo MAC-48 è composto da sei ottetti, 48 bit, solitamente scritto come sei coppie esadecimali. I primi tre ottetti sono l'Organizationally Unique Identifier, l'OUI, assegnato dall'IEEE a un produttore. Gli ultimi tre sono assegnati da quel produttore, anche se in pratica molti vendor li derivano da un numero di serie o da una fonte casuale.

Le cifre esadecimali sono scritte con il bit più significativo per primo nella forma testuale, ma l'IEEE trasmette ogni ottetto con il bit meno significativo per primo sul filo. Questa discrepanza è il motivo per cui il primo ottetto è l'unico punto in cui la numerazione dei bit confonde tutti: il bit 0 nello standard indica il bit meno significativo di quel primo ottetto così come scritto, non il bit più a sinistra della stringa.

  • Lunghezza totale: 48 bit, 6 ottetti, 12 cifre esadecimali
  • OUI: i primi 24 bit, assegnati dall'IEEE
  • Porzione NIC: gli ultimi 24 bit, assegnati dal titolare dell'OUI
  • Forma testuale: nibble più significativo per primo all'interno di ogni ottetto
  • Ordine sul filo: ogni ottetto trasmesso con il bit meno significativo per primo

Il primo ottetto: I/G e U/L

Due bit nel primo ottetto hanno un significato. Il bit 0 è il bit Individual/Group: zero indica un indirizzo unicast per una singola interfaccia, uno indica un indirizzo di gruppo o multicast. Il bit 1 è il bit Universal/Local: zero indica che l'indirizzo è amministrato globalmente sotto un OUI, uno indica che è stato assegnato localmente, tipicamente dal software.

Poiché le cifre esadecimali sono quattro bit, questi due bit sono sempre codificati nell'ultima cifra esadecimale del primo ottetto. Ecco perché il secondo carattere del primo ottetto è sempre pari per un indirizzo unicast e dispari per un indirizzo multicast, e perché indirizzi unicast amministrati localmente con pattern come 02, 06, 0A, 0E, 12 e simili compaiono come primo ottetto degli indirizzi Wi-Fi randomizzati.

Primo ottettoBinarioI/GU/LSignificato
000000 00000 unicast0 globaleInterfaccia normale assegnata da OUI
020000 00100 unicast1 localeAmministrato localmente, spesso randomizzato
010000 00011 multicast0 globaleGruppo multicast standard
030000 00111 multicast1 localeMulticast con ambito locale
330011 00111 multicast1 localeMAC multicast IPv6, prefisso 33:33
FF1111 11111 multicast1 localeFrame broadcast

OUI, EUI-48 e la separazione globale/locale

L'OUI è un'assegnazione a 24 bit. Quando il bit U/L è zero, i primi tre ottetti identificano l'assegnatario e una ricerca nel registro IEEE è significativa. Quando il bit U/L è uno, i primi tre ottetti sono stati scelti dal dispositivo o dal sistema operativo e nessuna voce di registro può esistere, per quanto plausibile possa sembrare il prefisso.

L'IEEE assegna anche blocchi a 36 bit nel registro MA-S, che condividono i primi 24 bit con altri assegnatari e aggiungono altri quattro bit nel terzo ottetto. Una ricerca che controlla solo i primi tre ottetti attribuirà quegli indirizzi al titolare sbagliato. Se la precisione è importante, verifica la dimensione dell'assegnazione prima di fidarti del nome del produttore.

  • MA-L a 24 bit: OUI classico, tre ottetti, il caso comune
  • MA-M a 28 bit: condivide un blocco a 24 bit con altri assegnatari
  • MA-S a 36 bit: condivide un blocco a 24 bit, aggiunge quattro bit del terzo ottetto
  • Bit U/L impostato: salta del tutto il registro, non c'è alcun assegnatario

Indirizzi randomizzati e perché le ricerche ora falliscono

I sistemi operativi moderni ruotano gli indirizzi Wi-Fi. iOS e macOS usano un indirizzo privato per rete, Android randomizza per SSID e Windows offre indirizzi hardware casuali. Tutti questi impostano il bit U/L, che è il segnale onesto che il prefisso non è un'allocazione del produttore. Le ricerche che ignorano il bit produrranno un nome di produttore per un prefisso che nessuno ha mai ricevuto.

La randomizzazione rompe anche le assunzioni nei controlli di rete. Un filtro MAC non è autenticazione, perché l'indirizzo è impostato via software sulla maggior parte delle piattaforme. La stessa proprietà rende gli indirizzi MAC inutili come identificatore stabile del dispositivo nelle analisi. Se il tuo prodotto lega una licenza o un record di dispositivo a un indirizzo MAC, si frammenterà su ogni rete che ruota gli indirizzi e può essere falsificato banalmente.

  • Indirizzo randomizzato: bit U/L impostato, prefisso scelto localmente
  • La rotazione per rete significa che il valore non è un ID stabile del dispositivo
  • Il filtro MAC è banale da aggirare e non è controllo di accesso
  • Macchine virtuali e container spesso ereditano o generano prefissi locali
  • Analizza sempre i bit prima di consultare un registro dei produttori

EUI-64 e l'identificatore di interfaccia link-local IPv6

EUI-64 trasforma un indirizzo a 48 bit in 64 bit in tre passaggi: separa l'OUI e la porzione NIC, inserisce FF:FE tra di essi e inverte il bit U/L. L'inserimento fornisce 16 bit extra di lunghezza; il bit invertito mantiene coerente il significato universal/local nella forma a 64 bit, motivo per cui il risultato è chiamato EUI-64 modificato.

Il risultato è comunemente usato come identificatore di interfaccia di un indirizzo link-local IPv6, che risiede sempre in fe80::/10 e richiede sempre un indice di zona come uno scope id quando ti connetti. Le estensioni per la privacy sostituiscono questo identificatore con uno casuale per gli indirizzi globali, ma la forma derivata compare ancora nella documentazione, nelle configurazioni di laboratorio e negli inventari dei dispositivi.

PassaggioValoreSpiegazione
MAC di partenza00:1A:2B:3C:4D:5EEUI-48 a 48 bit
Inserisci FF:FE00:1A:2B:FF:FE:3C:4D:5EEUI-64 a 64 bit
Inverti bit U/L02:1A:2B:FF:FE:3C:4D:5EIl primo ottetto 00 diventa 02
Formato IPv6fe80::21a:2bff:fe3c:4d5eLink-local con quell'id di interfaccia

Formati testuali e come analizzarli

Gli stessi 48 bit compaiono in almeno quattro notazioni. Unix e Windows usano coppie separate da due punti. Windows a volte usa i trattini. Cisco usa tre gruppi di quattro cifre esadecimali separati da punti. Alcuni strumenti emettono maiuscole, altri minuscole, e altri rimuovono del tutto i separatori. Un parser dovrebbe normalizzarli tutti e rifiutare qualsiasi cosa che non sia esattamente 48 bit.

La normalizzazione è importante per il confronto ma non per la conservazione dell'originale. La notazione con due punti in minuscolo è la forma canonica più portabile. Se accetti una stringa esadecimale nuda di 12 cifre, sii esplicito al riguardo, perché accettarla silenziosamente consente a un utente di incollare un identificatore esadecimale di 16 cifre che non è affatto un indirizzo MAC.

StileEsempioFonte comune
Due punti00:1a:2b:3c:4d:5eLinux, macOS, la maggior parte delle API
Trattino00-1a-2b-3c-4d-5eWindows, alcune apparecchiature di rete
Cisco puntato001a.2b3c.4d5eIOS e CLI correlate
Hex nudo001a2b3c4d5eLog e CSV, ambiguo
Maiuscolo00:1A:2B:3C:4D:5EDocumentazione, etichette

Errori che una ricerca dovrebbe segnalare

Una buona ricerca distingue "questo è malformato" da "questo è amministrato localmente" da "questo prefisso è valido ma l'assegnatario non è nel registro locale". Ridurre tutti e tre a "sconosciuto" fa perdere tempo al chiamante, perché le correzioni sono completamente diverse.

Gli errori di lunghezza sono i più comuni: cinque ottetti, sette ottetti o un EUI-64 a 64 bit incollato in un campo a 48 bit. Seguono gli errori di carattere, di solito una O al posto di uno zero o una I al posto di un uno da OCR. Poi ci sono i casi logici: indirizzi multicast, l'indirizzo broadcast e prefissi amministrati localmente, ognuno dei quali è sintatticamente valido e semanticamente speciale.

SintomoCausaGestione corretta
Cinque ottettiIncolla troncatoRifiuta con un errore di lunghezza
Contiene O o IOCR o errore di battituraRifiuta come esadecimale non valido
Bit U/L impostatoAssegnazione randomizzata o localeSalta il registro
Bit I/G impostatoIndirizzo di gruppoNon è un indirizzo di dispositivo
FF:FF:FF:FF:FF:FFBroadcastRifiuta come indirizzo di interfaccia
16 cifre esadecimaliEUI-64 fornitoRifiuta o converti esplicitamente

Generare fixture MAC che non possano collidere

Per i dati di test, genera sempre indirizzi unicast amministrati localmente: imposta il primo ottetto a 02 e mantieni il bit I/G a zero. Questa combinazione è garantita non appartenere a nessun produttore, quindi una fixture non può mai essere scambiata per un dispositivo reale, e uno strumento di ricerca dirà correttamente che il prefisso è locale invece di inventare un produttore.

Gli strumenti MAC del sito operano sulla struttura a 48 bit e non pretendono di identificare hardware reale. Analizzano i bit, mostrano l'OUI come bit anziché come garanzia del produttore e possono derivare una forma EUI-64. Nota che il sito non genera indirizzi di dispositivi Bluetooth o altri identificatori a 48 bit al di fuori degli strumenti MAC in stile Ethernet, e non genera affatto numeri di serie.

  • Usa 02 come primo ottetto per indirizzi unicast sintetici
  • Non generare mai un OUI di un produttore reale più una porzione NIC casuale
  • Mantieni le fixture in un prefisso documentato in modo che siano ricercabili
  • Non usare gli indirizzi MAC come identificatori stabili del dispositivo nemmeno nei test

Domande

Quanti bit ci sono in un indirizzo MAC?+
Quarantotto bit, sei ottetti, solitamente scritti come sei coppie esadecimali. EUI-64 estende lo stesso schema a 64 bit inserendo FF:FE e invertendo il bit U/L.
Cosa mi dice il secondo carattere del primo ottetto?+
Il suo bit basso è il bit I/G, quindi un secondo carattere pari indica unicast e uno dispari indica multicast. Il bit successivo è il bit U/L, motivo per cui 02 indica un indirizzo amministrato localmente.
Perché una ricerca del produttore non restituisce nulla per il mio dispositivo?+
L'indirizzo è probabilmente randomizzato. I sistemi operativi moderni impostano il bit U/L per gli indirizzi Wi-Fi privati e nessun produttore è assegnato a un prefisso locale.
Un indirizzo MAC è un identificatore affidabile del dispositivo?+
No. È impostato via software sulla maggior parte delle piattaforme, ruota per rete su telefoni e laptop ed è banale da falsificare. Non basare licenze o analisi su di esso.
Lo strumento può dirmi se un indirizzo MAC è reale?+
No. Analizza struttura e bit, e una ricerca nel registro può riflettere solo le assegnazioni dei prefissi, non se un dispositivo esiste. Il sito non verifica l'hardware.

Gli esempi sono sintetici. Non usare un indirizzo generato per verifiche di identità, registrazione di account o consegne.

Standard di riferimento

Leggi dopo

Tutte le guide