Mengapa beberapa alamat mac sering diulang?

12

Aplikasi saya menanyakan alamat mac dari komputer klien tempat komputer itu beroperasi dan menyimpannya di server. Ketika saya menganalisis DB server, saya menemukan bahwa beberapa alamat mac ulangi 100-150 kali. Yaitu komputer klien yang berbeda di organisasi yang berbeda terkait memiliki mac yang sama. Jadi beberapa mac-address sangat "populer". Mereka juga entah bagaimana muncul di hasil google. Misalnya 58-2C-80-13-92-63. Mengapa itu terjadi?

Detail: aplikasi saya berjalan di Windows, komputer klien milik organisasi yang berbeda dan terletak di kota yang berbeda. Dan aplikasi saya terhubung ke server web tempat ia menyimpan beberapa statistik (mis. Alamat mac).

Mike Siomkin
sumber
1
Nah itu mendapatkan kesalahan 'vendor tidak ditemukan' ketika Anda melihatnya - ini adalah MAC yang diturunkan dari perangkat lunak, mungkin beberapa bentuk NAT internal, mungkin dari router / VPN / firewall Anda.
Chopper3
salah urus dari vendor mereka saya kira? Saya pernah memiliki router D-Link yang memiliki MAC nirkabel "01: 23: 45: 67: 89: ab" ... Omong kosong.
Waleed Hamra
mungkin konfigurasi perangkat virtual cukup salin / tempel tanpa mengubah MAC (fe dengan versi xen yang lebih lama ini dimungkinkan)
Dennis Nolte
Yah, bahkan dengan versi baru Xen ini dimungkinkan jika Anda tidak mengizinkannya untuk menghasilkan MAC baru ketika membuat VM NIC (misalnya, jika seseorang menggunakan templat mesin). Anda bahkan dapat melakukan ini dengan libvirt jika Anda hanya menggunakan virsh dan satu template tanpa skrip pengacakan.
Pengumpul informasi

Jawaban:

17

Contoh ini khususnya ( 58-2C-80-13-92-63) adalah chip USB Ethernet yang dibuat oleh Huawei. Sepertinya mereka malas dan menggunakan kembali MAC. Contoh dari 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

Yang lain juga bisa menjadi kasus VM yang diedarkan. Tetapi penjelasan yang paling mungkin (seperti yang orang lain katakan) adalah perangkat keras yang murah.

Untuk menyelesaikan masalah ini, periksa untuk melihat apakah MAC (ditandai sebagai) unik secara global atau dikelola secara lokal: https://en.wikipedia.org/wiki/MAC_address#Address_details

Alamat 58:2c:80:13:92:63dalam teori harus unik secara global:

0x58 → 1011000

Tetapi MAC dari VM (mis. 58:2c:80:13:92:63) Tidak akan:

0x52 → 1010010
MikeyB
sumber
Beberapa contoh lainnya: 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. Pertama - sepertinya Huawei lagi, harus unik secara global. (Bukankah orang-orang dari Huawei takut dengan tabrakan LAN? - serverfault.com/questions/462178/... ) Yang kedua adalah loopback. Lainnya - Saya tidak tahu persis apa. Bit paling tidak signifikan kedua dari oktet pertama mungkin 1 atau 0. Satu-satunya hal yang saya lihat - secara umum keunikan mac adalah mitos :( (bahkan jika mereka tidak diatur secara pemrograman).
Mike Siomkin
Hal aneh lainnya adalah saya memfilter loopback dalam kode saya:if (adapter.NetworkInterfaceType == NetworkInterfaceType.Tunnel || adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback || adapter.NetworkInterfaceType == NetworkInterfaceType.Unknown) continue;
Mike Siomkin
-2

Anda dapat melihat berbagai alamat mac hanya di jaringan lokal. Ketika paket IP pergi melalui router, mac-address dari host sumber diubah ke mac-address dari antarmuka output router. Itulah sebabnya Anda dapat melihat banyak alamat IP (penyihir bukan dari jaringan lokal Anda) dengan alamat mac yang sama.

Mikhail Khirgiy
sumber
Tidak, ini bukan cara kerjanya, ini adalah lapisan OSI yang berbeda. Jika IP jarak jauh mencapai Anda melalui router, Anda hanya mengasosiasikan IP (lokal) router dengan MAC itu. Saya bisa membayangkan pengaturan yang sangat eksotis di mana router mencoba melakukan seolah-olah itu adalah jembatan ke internet (siapa yang benar-benar menginginkan hal seperti itu?), Tetapi binatang seperti itu bahkan tidak akan bekerja, dan tentu saja tidak dengan menutupi segala sesuatu di belakang satu MAC
Hagen von Eitzen
Kamu benar. Ada berbagai lapisan OSI. Tetapi router mendapatkan paket pada lapisan Ethernet rendah, kemudian memutuskan apa yang harus dilakukan dengan paket ini pada lapisan IP dan kemudian mengirimkannya ke tujuan berikutnya lagi pada lapisan Ethernet rendah. Itulah sebabnya router mengirim paket dengan alamat mac-nya sendiri. Tidak ada protokol routing pada layer Ethernet fisik.
Mikhail Khirgiy
Sebenarnya, IS-IS adalah protokol perutean yang berjalan tepat di lapisan Ethernet. Tetapi bagaimanapun juga, sistem tidak akan pernah melaporkan mesin yang dapat dijangkau di luar gateway sebagai memiliki alamat MAC gateway.
MikeyB
Baik. Tapi bagaimana dengan serverfault.com/questions/36002/…
Mikhail Khirgiy
1. Seperti yang saya katakan, saya mendapatkan mac yang sama dari klien dari kota yang berbeda (bukan dari satu LAN)! 2. Aplikasi klien desktop saya menanyakan mac dari adaptor komputer tempat komputer berjalan, kemudian mengirimkannya ke server menggunakan layanan web SOAP. Jadi itu tidak bisa menjadi mac router.
Mike Siomkin