Kabeh sing pengin ngerti babagan alamat MAC

Kabeh sing pengin ngerti babagan alamat MACSaben uwong ngerti yen enem bait iki, biasane ditampilake ing format heksadesimal, ditugasake menyang kertu jaringan ing pabrik, lan katon acak. Sawetara wong ngerti yen telung bita pisanan saka alamat kasebut minangka ID pabrikan, lan telung bait sing isih ditugasake kanggo dheweke. Sampeyan uga dikenal sing bisa nyetel dhewe kasepakatan alamat. Akeh wong sing wis krungu babagan "alamat acak" ing Wi-Fi.

Ayo ngerteni apa iku.

Alamat MAC (alamat kontrol akses media) minangka pengenal unik sing diwenehake menyang adaptor jaringan, digunakake ing jaringan standar IEEE 802, utamane Ethernet, Wi-Fi lan Bluetooth. Resmi kasebut diarani "pengenal jinis EU-48". Saka jeneng iku ketok sing alamat dawane 48 bit, i.e. 6 byte. Ora ana standar sing ditampa umum kanggo nulis alamat (minangka lawan alamat IPv4, ing ngendi oktet tansah dipisahake kanthi titik). Biasane ditulis minangka enem angka heksadesimal sing dipisahake karo titik titik: 00:AB:CD:EF:11: 22, sanajan sawetara manufaktur peralatan seneng notasi 00 -AB-CD-EF-11-22 lan malah 00ab.cdef.1122.

Sacara historis, alamat kasebut flashed menyang ROM chipset kertu jaringan tanpa kemampuan kanggo ngowahi tanpa programmer lampu kilat, nanging saiki alamat bisa diganti programmatically saka sistem operasi. Sampeyan bisa kanthi manual nyetel alamat MAC kertu jaringan ing Linux lan MacOS (tansah), Windows (meh tansah, yen driver ngidini), Android (mung bosok); Kanthi iOS (tanpa ROOT) trick kuwi mokal.

Struktur alamat

Alamat kasebut kalebu bagean saka pengenal pabrikan, OUI, lan pengenal sing diwenehake dening pabrikan. Penetapan pengidentifikasi OUI (Organizationally Unique Identifier). melu organisasi IEEE. Nyatane, dawane bisa uga ora mung 3 bita (24 bit), nanging 28 utawa 36 bit, saka ngendi blok (MAC Address Block, MA) saka alamat jinis Gedhe (MA-L), Sedheng (MA-M) lan Cilik sing kawangun (MA-S) mungguh. Ukuran blok sing ditanggepi, ing kasus iki, bakal dadi 24, 20, 12 bit utawa 16 yuta, 1 yuta, 4 ewu alamat. Saiki ana kira-kira 38 ewu blok sing disebarake, bisa dideleng nggunakake macem-macem alat online, umpamane IEEE utawa Wireshark.

Sapa sing duwe alamat?

Pangolahan gampang kasedhiya kanggo umum unloading database IEEE nyedhiyakake cukup akeh informasi. Contone, sawetara organisasi wis njupuk akeh blok OUI kanggo awake dhewe. Punika pahlawan kita:

Vendor
Jumlah pamblokiran / cathetan
Jumlah alamat, yuta

Cisco Systems Inc
888
14208

Apple
772
12352

Samsung
636
10144

Huawei Technologies Co.Ltd
606
9696

Intel Corporation
375
5776

ARRIS Group Inc.
319
5104

Nokia Corporation
241
3856

Private
232
2704

Texas Instruments
212
3392

perusahaan zte
198
3168

Otoritas Registrasi IEEE
194
3072

Hewlett Packard
149
2384

Hon Hai Precision
136
2176

TP-LINK
134
2144

Dell Inc.
123
1968

Jaringan Juniper
110
1760

Sagemcom Broadband SAS
97
1552

Fiberhome Telecommunication Technologies Co. LTD
97
1552

Xiaomi Komunikasi Co Ltd
88
1408

Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312

Google mung duwe 40, lan iki ora nggumunake: dheweke dhewe ora ngasilake akeh piranti jaringan.

pamblokiran MA ora kasedhiya free , padha bisa dituku kanggo rega cukup (tanpa ragad langganan) mungguh $ 3000, $ 1800 utawa $ 755. Apike, kanggo dhuwit tambahan (saben taun) sampeyan bisa tuku "ndhelikake" informasi umum babagan blok sing diparengake. Saiki ana 232, kaya sing bisa dideleng ing ndhuwur.

Nalika kita bakal entek alamat MAC?

Kita kabeh bosen karo crita sing wis kedadeyan sajrone 10 taun yen "alamat IPv4 bakal entek." Ya, blok IPv4 anyar ora gampang dipikolehi. Dikenal yen alamat IP mbagekke banget unevenly; Ana blok raksasa lan kurang digunakake sing diduweni dening perusahaan gedhe lan lembaga pemerintah AS, nanging ora duwe pangarep-arep kanggo nyebarake maneh menyang sing butuh. Proliferasi NAT, CG-NAT lan IPv6 ndadekake masalah kekurangan alamat umum kurang akut.

A alamat MAC wis 48 bit, kang 46 bisa dianggep "migunani" (kok? maca ing), kang menehi 246 utawa 1014 alamat, kang 214 kaping luwih saka papan alamat IPv4.
Saiki, kira-kira setengah triliun alamat wis disebarake, utawa mung 0.73% saka total volume. Kita isih adoh banget saka kehabisan alamat MAC.

Randomness bit

Bisa dianggep yen OUIs disebarake kanthi acak, lan vendor banjur uga kanthi acak menehi alamat menyang piranti jaringan individu. Apa iya? Ayo goleki distribusi bit ing basis data alamat MAC piranti 802.11 sing dakkarepake, diklumpukake kanthi sistem otorisasi sing digunakake ing jaringan nirkabel. WNAM. Alamat kasebut kalebu piranti nyata sing nyambung menyang Wi-Fi sajrone pirang-pirang taun ing telung negara. Kajaba iku, ana database cilik saka piranti LAN kabel 802.3.

Ayo dadi break mudhun saben alamat MAC (enem bita) saka saben conto menyang bit, byte dening bait, lan katon ing frekuensi kedadean saka "1" bit ing saben 48 posisi. Yen bit disetel kanthi cara sing sewenang-wenang, banjur kemungkinan entuk "1" kudu 50%.

Pilihan Wi-Fi No. 1 (RF)
Sampel Wi-Fi No. 2 (Belarus)
Pilihan Wi-Fi No. 3 (Uzbekistan)
LAN sampling (RF)

Jumlah cathetan ing database
5929000
1274000
366000
1000

Nomer bit:
% bit "1"
% bit "1"
% bit "1"
% bit "1"

1
48.6%
49.2%
50.7%
28.7%

2
44.8%
49.1%
47.7%
30.7%

3
46.7%
48.3%
46.8%
35.8%

4
48.0%
48.6%
49.8%
37.1%

5
45.7%
46.9%
47.0%
32.3%

6
46.6%
46.7%
47.8%
27.1%

7
0.3%
0.3%
0.2%
0.7%

8
0.0%
0.0%
0.0%
0.0%

9
48.1%
50.6%
49.4%
38.1%

10
49.1%
50.2%
47.4%
42.7%

11
50.8%
50.0%
50.6%
42.9%

12
49.0%
48.4%
48.2%
53.7%

13
47.6%
47.0%
46.3%
48.5%

14
47.5%
47.4%
51.7%
46.8%

15
48.3%
47.5%
48.7%
46.1%

16
50.6%
50.4%
51.2%
45.3%

17
49.4%
50.4%
54.3%
38.2%

18
49.8%
50.5%
51.5%
51.9%

19
51.6%
53.3%
53.9%
42.6%

20
46.6%
46.1%
45.5%
48.4%

21
51.7%
52.9%
47.7%
48.9%

22
49.2%
49.6%
41.6%
49.8%

23
51.2%
50.9%
47.0%
41.9%

24
49.5%
50.2%
50.1%
47.5%

25
47.1%
47.3%
47.7%
44.2%

26
48.6%
48.6%
49.2%
43.9%

27
49.8%
49.0%
49.7%
48.9%

28
49.3%
49.3%
49.7%
55.1%

29
49.5%
49.4%
49.8%
49.8%

30
49.8%
49.8%
49.7%
52.1%

31
49.5%
49.7%
49.6%
46.6%

32
49.4%
49.7%
49.5%
47.5%

33
49.4%
49.8%
49.7%
48.3%

34
49.7%
50.0%
49.6%
44.9%

35
49.9%
50.0%
50.0%
50.6%

36
49.9%
49.9%
49.8%
49.1%

37
49.8%
50.0%
49.9%
51.4%

38
50.0%
50.0%
49.8%
51.8%

39
49.9%
50.0%
49.9%
55.7%

40
50.0%
50.0%
50.0%
49.5%

41
49.9%
50.0%
49.9%
52.2%

42
50.0%
50.0%
50.0%
53.9%

43
50.1%
50.0%
50.3%
56.1%

44
50.1%
50.0%
50.1%
45.8%

45
50.0%
50.0%
50.1%
50.1%

46
50.0%
50.0%
50.1%
49.5%

47
49.2%
49.4%
49.7%
45.2%

48
49.9%
50.1%
50.7%
54.6%

Kenapa ketidakadilan ing 7 lan 8 bit? Ana meh tansah nul.

Pancen, standar nemtokake bit kasebut minangka khusus (Wikipedia):
Kabeh sing pengin ngerti babagan alamat MAC

Bit kaping wolu (saka wiwitan) saka byte pisanan alamat MAC diarani bit Unicast/Multicast lan nemtokake jinis pigura (frame) apa sing dikirim nganggo alamat iki, biasa (0) utawa siaran (1) (multicast utawa siaran). Kanggo komunikasi adaptor jaringan unicast normal, bit iki disetel menyang "0" ing kabeh paket sing dikirim menyang.

Bit kaping pitu (saka wiwitan) saka byte pisanan alamat MAC diarani bit U/L (Universal/Lokal) lan nemtokake manawa alamat kasebut unik sacara global (0), utawa unik sacara lokal (1). Kanthi gawan, kabeh alamat "dijahit pabrikan" unik sacara global, saéngga mayoritas alamat MAC sing diklumpukake ngemot bit kapitu sing disetel dadi "0". Ing tabel pengenal OUI sing ditugasake, mung udakara 130 entri duwe bit U / L "1", lan ketoke iki minangka blok alamat MAC kanggo kabutuhan khusus.

Saka kaping enem nganti bit pisanan saka bait pisanan, bit saka bait kapindho lan katelu ing pengenal OUI, lan luwih-luwih bit ing 4-6 bait saka alamat sing diwenehake dening pabrikan disebarake luwih utawa kurang rata. .

Mangkono, ing alamat MAC nyata saka adaptor jaringan, bit sing bener padha lan ora duwe makna teknologi, kajaba rong bit layanan saka byte dhuwur.

Prevalensi

Kepikiran produsen peralatan nirkabel sing paling populer? Ayo gabungke panelusuran ing database OUI karo data saka sampel No.

Vendor
Nuduhake piranti,%

Apple
26,09

Samsung
19,79

Huawei Technologies Co. Ltd
7,80

Xiaomi Komunikasi Co Ltd
6,83

sony mobile communications inc
3,29

LG Electronics (Komunikasi Seluler)
2,76

ASUSTek KOMPUTER INC
2,58

TCT mobile Ltd
2,13

perusahaan zte
2,00

ora ditemokake ing database IEEE
1,92

Lenovo Mobile Communication Technology Ltd.
1,71

Samsung Corporation
1,68

Murata Manufacturing
1,31

InPro Comm
1,26

Microsoft Corporation
1,11

Shenzhen TINNO Mobile Technology Corp.
1,02

Motorola (Wuhan) Mobility Technologies Communication Co. Ltd.
0,93

Nokia Corporation
0,88

Shanghai Wind Technologies Co. Ltd
0,74

Lenovo Mobile Communication (Wuhan) Company Limited
0,71

Praktek nuduhake manawa kontingen pelanggan jaringan nirkabel luwih makmur ing lokasi tartamtu, luwih akeh panggabungan piranti Apple.

Keunikan

Apa alamat MAC unik? Ing teori, ya, amarga saben pabrikan piranti (pemilik blok MA) kudu menehi alamat unik kanggo saben adaptor jaringan sing diprodhuksi. Nanging, sawetara manufaktur chip, yaiku:

  • 00:0A:F5 Airgo Networks, Inc. (saiki Qualcomm)
  • 00:08:22 InPro Comm (saiki MediaTek)

nyetel telung bita pungkasan alamat MAC menyang nomer acak, ketoke sawise saben piranti urip maneh. Ana 1 ewu alamat kasebut ing sampelku No.

Sampeyan bisa, mesthi, nyetel dhewe manca, alamat non-unik kanthi sengaja nyetel "kaya pepadhamu", ngenali karo sniffer, utawa milih kanthi acak. Sampeyan uga bisa kanthi ora sengaja nyetel alamat sing ora unik kanthi, contone, mulihake konfigurasi serep router kaya Mikrotik utawa OpenWrt.

Apa sing bakal kedadeyan yen ana rong piranti ing jaringan kanthi alamat MAC sing padha? Iku kabeh gumantung ing logika peralatan jaringan (router kabel, controller jaringan nirkabel). Paling kamungkinan, piranti loro-lorone ora bisa digunakake utawa bakal bisa intermittently. Saka sudut pandang standar IEEE, pangayoman marang spoofing alamat MAC diusulake kanggo ditanggulangi nggunakake, contone, MACsec utawa 802.1X.

Apa yen sampeyan nginstal MAC karo bit kapitu utawa kawolu disetel kanggo "1", i.e. alamat lokal utawa multicast? Paling kamungkinan, jaringan sampeyan ora bakal menehi perhatian marang iki, nanging kanthi resmi alamat kasebut ora bakal tundhuk karo standar, lan luwih becik ora nglakoni.

Carane randomization dianggo

Kita ngerti manawa kanggo nyegah nelusuri obahe wong kanthi mindhai lan ngumpulake gelombang udara, sistem operasi MAC smartphone wis nggunakake teknologi randomisasi sajrone pirang-pirang taun. Secara teoritis, nalika mindhai gelombang udhara kanggo nggoleki jaringan sing dikenal, smartphone ngirim paket (kelompok paket) saka jinis panyuwunan probe 802.11 kanthi alamat MAC minangka sumber:

Kabeh sing pengin ngerti babagan alamat MAC

Randomisasi sing diaktifake ngidini sampeyan nemtokake ora sing "dijahit", nanging sawetara alamat sumber paket liyane, ganti saben siklus pemindaian, liwat wektu, utawa kanthi cara liya. Apa iku bisa? Ayo ndeleng statistik alamat MAC sing diklumpukake saka udhara sing diarani "Radar Wi-Fi":

Sample kabeh
Sampel mung karo nol 7 bit

Jumlah cathetan ing database
3920000
305000

Nomer bit:
% bit "1"
% bit "1"

1
66.1%
43.3%

2
66.5%
43.4%

3
31.7%
43.8%

4
66.6%
46.4%

5
66.7%
45.7%

6
31.9%
46.4%

7
92.2%
0.0%

8
0.0%
0.0%

9
67.2%
47.5%

10
32.3%
45.6%

11
66.9%
45.3%

12
32.3%
46.8%

13
32.6%
50.1%

14
33.0%
56.1%

15
32.5%
45.0%

16
67.2%
48.3%

17
33.2%
56.9%

18
33.3%
56.8%

19
33.3%
56.3%

20
66.8%
43.2%

21
67.0%
46.4%

22
32.6%
50.1%

23
32.9%
51.2%

24
67.6%
52.2%

25
49.8%
47.8%

26
50.0%
50.0%

27
50.0%
50.2%

28
50.0%
49.8%

29
50.0%
49.4%

30
50.0%
50.0%

31
50.0%
49.7%

32
50.0%
49.9%

33
50.0%
49.7%

34
50.0%
49.6%

35
50.0%
50.1%

36
50.0%
49.5%

37
50.0%
49.9%

38
50.0%
49.8%

39
50.0%
49.9%

40
50.0%
50.1%

41
50.0%
50.2%

42
50.0%
50.2%

43
50.0%
50.1%

44
50.0%
50.1%

45
50.0%
50.0%

46
50.0%
49.8%

47
50.0%
49.8%

48
50.1%
50.9%

Gambar iku temen beda.

Bit kaping 8 saka byte pisanan alamat MAC isih cocog karo sifat Unicast alamat SRC ing paket panyuwunan probe.

Bit kaping 7 disetel menyang Lokal ing 92.2% kasus, yaiku. Kanthi tingkat kapercayan sing adil, kita bisa nganggep manawa akeh alamat sing diklumpukake kanthi acak, lan kurang saka 8% nyata. Ing kasus iki, distribusi bit ing OUI kanggo alamat nyata kuwi kira-kira pas karo data ing tabel sadurunge.

Produsèn kang, miturut OUI, ndarbeni alamat acak (i.e. karo bit 7th ing "1")?

Produsen dening OUI
Nuduhake kabeh alamat

ora ditemokake ing database IEEE
62.45%

Google Inc.
37.54%

ngaso
0.01%

Kajaba iku, kabeh alamat acak sing ditugasake menyang Google kalebu OUI sing padha karo awalan DA:A1:19. Apa prefiks iki? Ayo katon ing sumber Android.

private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");

Simpenan Android nggunakake OUI khusus sing kadhaptar nalika nelusuri jaringan nirkabel, salah siji saka sawetara karo set bit kapitu.

Etung MAC nyata saka acak

Ayo ndeleng ana:

private static final long VALID_LONG_MASK = (1L << 48) - 1;
private static final long LOCALLY_ASSIGNED_MASK = MacAddress.fromString("2:0:0:0:0:0").mAddr;
private static final long MULTICAST_MASK = MacAddress.fromString("1:0:0:0:0:0").mAddr;

public static @NonNull MacAddress createRandomUnicastAddress(MacAddress base, Random r) {
        long addr;
        if (base == null) {
            addr = r.nextLong() & VALID_LONG_MASK;
        } else {
            addr = (base.mAddr & OUI_MASK) | (NIC_MASK & r.nextLong());
        }
        addr |= LOCALLY_ASSIGNED_MASK;
        addr &= ~MULTICAST_MASK;
        MacAddress mac = new MacAddress(addr);
        if (mac.equals(DEFAULT_MAC_ADDRESS)) {
            return createRandomUnicastAddress(base, r);
        }
        return mac;
    }

Alamat kabeh, utawa telung bita ngisor, murni Random.nextLong(). "Pemulihan kepemilikan MAC nyata" minangka penipuan. Kanthi tingkat kapercayan sing dhuwur, kita bisa nyana manawa produsen telpon Android nggunakake OUI liyane sing ora kadhaptar. Kita ora duwe kode sumber iOS, nanging paling kamungkinan algoritma padha digunakake ana.

Ing ndhuwur ora mbatalake karya mekanisme liya kanggo de-anonimisasi pelanggan Wi-Fi, adhedhasar analisis lapangan liyane saka pigura panjalukan probe, utawa korélasi frekuensi relatif saka panjalukan dikirim piranti. Nanging, kanthi dipercaya nelusuri pelanggan kanthi nggunakake cara eksternal, masalah banget. Data sing diklumpukake bakal luwih cocog kanggo nganalisa beban rata-rata / puncak miturut lokasi lan wektu, adhedhasar jumlah gedhe, tanpa referensi menyang piranti lan wong tartamtu. Mung sing "ing", produsen OS seluler dhewe, lan aplikasi diinstal duwe data akurat.

Apa sing bisa mbebayani yen wong liya ngerti alamat MAC piranti sampeyan? Serangan penolakan layanan bisa diluncurake kanggo jaringan kabel lan nirkabel. Kanggo piranti nirkabel, luwih-luwih, kanthi sawetara kemungkinan bisa ngrekam wayahe katon ing panggonan sing dipasang sensor. Kanthi spoofing alamat kasebut, sampeyan bisa nyoba "nyamar" dadi piranti sampeyan, sing mung bisa digunakake yen ora ana langkah keamanan tambahan sing digunakake (wewenang lan / utawa enkripsi). 99.9% wong ing kene ora kudu kuwatir.

Alamat MAC luwih rumit tinimbang sing katon, nanging luwih gampang tinimbang sing bisa ditindakake.

Source: www.habr.com

Add a comment