Por que alguns endereços MAC se repetem com tanta frequência?

12

Meu aplicativo consulta endereços mac dos computadores clientes onde os executa e os armazena no servidor. Quando analisei o banco de dados do servidor, descobri que alguns endereços MAC se repetem 100 a 150 vezes. Ou seja, computadores clientes diferentes em diferentes organizações não relacionadas têm os mesmos macs. Portanto, alguns endereços MAC são muito "populares". Eles também aparecem de alguma forma nos resultados do google. Por exemplo, 58-2C-80-13-92-63. Por que isso acontece?

Detalhes: meu aplicativo é executado no Windows, os computadores clientes pertencem a diferentes organizações e estão localizados em cidades diferentes. E meu aplicativo se conecta ao servidor web, onde armazena algumas estatísticas (por exemplo, endereços mac).

Mike Siomkin
fonte
1
Bem, isso gera um erro de 'fornecedor não encontrado' quando você o pesquisa - é um MAC derivado de software, provavelmente algum tipo de NAT interno, possivelmente do seu roteador / VPN / firewall.
usar o seguinte comando
má gestão de seu fornecedor, eu acho? Uma vez eu tive um roteador D-Link que tinha um MAC sem fio "01: 23: 45: 67: 89: ab" ... Porcaria barata.
Waleed Hamra
pode ser a configuração de dispositivo virtual basta copiar / colar sem alterar o MAC (fe com versões mais antigas deste Xen é possível)
Dennis Nolte
Bem, mesmo com novas versões do Xen, isso é possível se você não permitir que ele gere um novo MAC ao criar NICs de VM (por exemplo, se alguém estiver usando um modelo de máquina). Você pode até fazer isso com libvirt se usar apenas virsh e um único modelo sem script de randomização.
Spooler

Respostas:

17

Este exemplo em particular ( 58-2C-80-13-92-63) é um chip USB Ethernet fabricado pela Huawei. Parece que eles estão sendo preguiçosos e reutilizando o MAC. Exemplos do 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

Os outros também podem ser um caso de VMs sendo distribuídas. Mas a explicação mais provável (como já foi dito) é que é um hardware barato.

Para entender isso, verifique se o MAC é (marcado como) globalmente exclusivo ou administrado localmente: https://en.wikipedia.org/wiki/MAC_address#Address_details

O endereço 58:2c:80:13:92:63na teoria deve ser globalmente único:

0x58 → 1011000

Mas os MACs das VMs (por exemplo 58:2c:80:13:92:63) não serão:

0x52 → 1010010
MikeyB
fonte
Mais alguns exemplos: 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. Primeiro - parece que a Huawei novamente, deve ser globalmente único. (Os caras da Huawei não têm medo de colisões na LAN? - serverfault.com/questions/462178/… ) O segundo é um loopback. Outros - não sei exatamente o que. O segundo bit menos significativo do primeiro octeto pode ser 1 ou 0. A única coisa que vejo - em geral, a singularidade do mac é um mito :( (mesmo que não sejam definidos programaticamente).
Mike Siomkin
Outra coisa estranha é que eu filtro os loopbacks no meu código:if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
Mike Siomkin
-2

Você pode ver diferentes endereços MAC apenas na rede local. Quando o pacote IP passa pelo roteador, o endereço mac do host de origem é alterado para o endereço mac da interface de saída do roteador. É por isso que você pode ver muitos endereços IP (que não são da sua rede local) com o mesmo endereço MAC.

Mikhail Khirgiy
fonte
Não, não é assim que funciona, essas são camadas OSI diferentes. Se um IP remoto chegar até você através de um roteador, você só associará o IP (local) do roteador a esse MAC. Eu poderia imaginar uma configuração muito exótica, na qual o roteador tenta fazer como se fosse uma ponte para a Internet (quem realmente gostaria de algo assim?), Mas essa fera nem funciona, e certamente não mascarando tudo um único MAC
Hagen von Eitzen
Você está certo. Existem diferentes camadas OSI. Mas o roteador obtém o pacote na camada Ethernet baixa, decide o que fazer com esse pacote na camada IP e envia-o para o próximo destino novamente na camada Ethernet baixa. É por isso que o roteador envia pacotes com seu próprio endereço mac. Não há protocolos de roteamento na camada Ethernet física.
Mikhail Khirgiy
Na verdade, IS-IS é um protocolo de roteamento que é executado diretamente na camada Ethernet. Mas, independentemente disso, os sistemas nunca reportariam uma máquina acessível além de um gateway como tendo o endereço MAC do gateway.
precisa saber é o seguinte
Está bem. Mas o que sobre este serverfault.com/questions/36002/...
Mikhail Khirgiy
1. Como eu disse, recebo os mesmos macs de clientes de cidades diferentes (não de uma LAN)! 2. Meu aplicativo cliente de desktop consulta o mac do adaptador do computador em que ele é executado e o envia ao servidor usando o serviço da web SOAP. Portanto, não pode ser o mac de um roteador.
Mike Siomkin