Perché alcuni mac-address si ripetono così spesso?


12

La mia applicazione interroga gli indirizzi mac dei computer client su cui è in esecuzione e li memorizza sul server. Quando ho analizzato il DB del server, ho scoperto che alcuni indirizzi mac si ripetono 100-150 volte. Vale a dire computer client diversi in diverse organizzazioni non correlate hanno gli stessi mac. Quindi alcuni mac-address sono molto "popolari". Inoltre appaiono in qualche modo nei risultati di Google. Ad esempio 58-2C-80-13-92-63. Perché succede?

Dettagli: la mia app funziona su Windows, i computer client appartengono a diverse organizzazioni e sono situati in diverse città. E la mia app si collega al server web dove memorizza alcune statistiche (ad es. Indirizzi mac).


1
Bene, quando lo guardi viene visualizzato un errore "fornitore non trovato": è un MAC derivato dal software, probabilmente una forma di NAT interno, probabilmente dal tuo router / VPN / firewall.
Chopper3,

cattiva gestione da parte del loro venditore immagino? Una volta avevo un router D-Link che aveva un MAC wireless di "01: 23: 45: 67: 89: ab" ... Merda economica.
Waleed Hamra,

potrebbe essere la configurazione del dispositivo virtuale, basta copiare / incollare senza modificare il MAC (ad esempio con versioni precedenti di xen è possibile)
Dennis Nolte,

Bene, anche con le nuove versioni di Xen questo è possibile se non gli permetti di generare un nuovo MAC durante la creazione di NIC VM (ad esempio, se qualcuno sta usando un modello di macchina). Puoi persino farlo con libvirt se usi solo virsh e un singolo template senza script di randomizzazione.
Spooler

Risposte:


17

Questo esempio in particolare ( 58-2C-80-13-92-63) è un chip Ethernet USB realizzato da Huawei. Sembra che siano pigri e riutilizzino il MAC. Esempi da 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

Gli altri potrebbero anche essere un caso di macchine virtuali passate in giro. Ma la spiegazione più probabile (come altri hanno già detto) è che è un hardware economico.

Per capire questo, controlla se il MAC è (contrassegnato come) globalmente unico o amministrato localmente: https://en.wikipedia.org/wiki/MAC_address#Address_details

L'indirizzo 58:2c:80:13:92:63in teoria dovrebbe essere univoco a livello globale:

0x58 → 1011000

Ma i MAC delle VM (ad es. 58:2c:80:13:92:63) Non saranno:

0x52 → 1010010

Alcuni altri esempi: 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. Primo: sembra di nuovo Huawei, dovrebbe essere unico a livello globale. (I ragazzi di Huawei non hanno paura delle collisioni LAN? - serverfault.com/questions/462178/… ) Il secondo è un loopback. Altri - Non so cosa esattamente. Il secondo bit meno significativo del primo ottetto può essere 1 o 0. L'unica cosa che vedo - in generale l'unicità del mac è un mito :( (anche se non sono impostati programmaticamente).
Mike Siomkin,

Un'altra cosa strana è che filtra i loopback nel mio codice:if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
Mike Siomkin,

-2

Puoi vedere diversi indirizzi mac solo nella rete locale. Quando il pacchetto IP passa attraverso il router, l'indirizzo MAC dell'host di origine viene modificato in indirizzo MAC dell'interfaccia di output del router. Ecco perché puoi vedere molti indirizzi IP (che non appartengono alla tua rete locale) con lo stesso indirizzo mac.


No, non funziona così, si tratta di livelli OSI diversi. Se un IP remoto ti raggiunge tramite un router, associ solo l'IP (locale) del router a quel MAC. Potrei immaginare una configurazione molto esotica in cui il router cerca di fare come se fosse un ponte verso Internet (chi vorrebbe davvero una cosa del genere?), Ma una tale bestia non funzionerà nemmeno, e certamente non mascherando tutto ciò che sta dietro un singolo MAC
Hagen von Eitzen,

Hai ragione. Esistono diversi livelli OSI. Ma il router ottiene il pacchetto su un livello Ethernet basso, quindi decide cosa fare con questo pacchetto sul livello IP e quindi lo invia nuovamente alla destinazione successiva sul livello Ethernet basso. Ecco perché il router invia pacchetti con il proprio indirizzo mac. Non ci sono protocolli di routing sul livello Ethernet fisico.
Mikhail Khirgiy,

In realtà, IS-IS è un protocollo di routing che funziona direttamente sul livello Ethernet. Tuttavia, i sistemi non segnalerebbero mai una macchina raggiungibile oltre un gateway con l'indirizzo MAC del gateway.
MikeyB,


1. Come ho detto, ricevo gli stessi mac da client di diverse città (non da una LAN)! 2. L'app client desktop esegue una query mac dell'adattatore del computer su cui è in esecuzione, quindi lo invia al server tramite il servizio Web SOAP. Quindi non può essere il mac di un router.
Mike Siomkin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.