MAC manzili haqida bilmoqchi bo'lgan hamma narsa

MAC manzili haqida bilmoqchi bo'lgan hamma narsaOdatda o'n oltilik formatda ko'rsatiladigan bu olti bayt zavodda tarmoq kartasiga tayinlanganligini va tasodifiy ko'rinishini hamma biladi. Ba'zi odamlar manzilning dastlabki uchta bayti ishlab chiqaruvchi identifikatori ekanligini bilishadi va qolgan uchta bayt ularga tayinlangan. O'zingizni o'rnatishingiz mumkinligi ham ma'lum o'zboshimchalik bilan manzil. Ko'p odamlar Wi-Fi-da "tasodifiy manzillar" haqida eshitgan.

Keling, nima ekanligini aniqlaylik.

MAC manzili (media kirishni boshqarish manzili) tarmoq adapteriga tayinlangan noyob identifikator bo'lib, IEEE 802 standartlari tarmoqlarida, asosan, Ethernet, Wi-Fi va Bluetooth ishlatiladi. Rasmiy ravishda u "EUI-48 tipidagi identifikator" deb ataladi. Nomidan ko'rinib turibdiki, manzil 48 bit uzunlikda, ya'ni. 6 bayt. Manzil yozishning umumeʼtirof etilgan standarti yoʻq (IPv4 manzilidan farqli oʻlaroq, bunda oktetlar har doim nuqta bilan ajratiladi).U odatda ikki nuqta bilan ajratilgan oltita oʻn oltilik sonlar koʻrinishida yoziladi: 00:AB:CD:EF:11: 22, garchi ba'zi uskunalar ishlab chiqaruvchilari 00 -AB-CD-EF-11-22 va hatto 00ab.cdef.1122 yozuvini afzal ko'rsalar ham.

Tarixiy jihatdan, manzillar tarmoq kartasi chipsetining ROM-ga flesh-dasturchisiz o'zgartirish imkoniyatisiz kiritilgan, ammo bugungi kunda manzilni operatsion tizimdan dasturiy ravishda o'zgartirish mumkin. Tarmoq kartasining MAC manzilini qo'lda Linux va MacOS (har doim), Windows (deyarli har doim, agar haydovchi ruxsat bersa), Android (faqat rootlangan); IOS bilan (rootsiz) bunday hiyla-nayrang mumkin emas.

Manzil tuzilishi

Manzil ishlab chiqaruvchi identifikatorining bir qismi, OUI va ishlab chiqaruvchi tomonidan tayinlangan identifikatordan iborat. OUI (tashkiliy yagona identifikator) identifikatorlarini tayinlash bilan shug'ullanadi IEEE tashkiloti. Aslida, uning uzunligi nafaqat 3 bayt (24 bit), balki 28 yoki 36 bit bo'lishi mumkin, ulardan Katta (MA-L), O'rta (MA-M) va turdagi manzillar bloklari (MAC manzil bloki, MA) Kichkina hosil bo'ladi (MA-S). Berilgan blokning o'lchami, bu holda, 24, 20, 12 bit yoki 16 million, 1 million, 4 ming manzil bo'ladi. Hozirda 38 mingga yaqin blok tarqatilgan, ularni ko'plab onlayn vositalar yordamida ko'rish mumkin, masalan. IEEE yoki Wireshark.

Manzillar kimga tegishli?

Hammaga ochiq bo'lganlarni oson qayta ishlash ma'lumotlar bazalarini tushirish IEEE juda ko'p ma'lumotlarni taqdim etadi. Misol uchun, ba'zi tashkilotlar o'zlari uchun juda ko'p OUI bloklarini oldilar. Mana bizning qahramonlarimiz:

Sotuvchi
Bloklar/yozuvlar soni
Manzillar soni, million

Cisco TeleSystems Inc
888
14208

olma
772
12352

Samsung
636
10144

Huawei Technologies Co.Ltd
606
9696

Intel korporatsiyasi
375
5776

ARRIS Group Inc.
319
5104

Nokia Korporatsiyasi
241
3856

shaxsiy
232
2704

Texas Instruments
212
3392

zte korporatsiyasi
198
3168

IEEE ro'yxatga olish organi
194
3072

Hewlett Packard
149
2384

Hon Hai Precision
136
2176

TP-LINK
134
2144

Dell Inc.
123
1968

Juniper Networks
110
1760

Sagemcom keng polosali SAS
97
1552

Fiberhome Telecommunication Technologies Co. LTD
97
1552

Xiaomi Communications Co Ltd
88
1408

Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312

Googleda ulardan atigi 40 tasi bor va bu ajablanarli emas: ularning o'zlari ko'plab tarmoq qurilmalarini ishlab chiqarmaydi.

MA bloklari bepul taqdim etilmaydi, ularni mos ravishda 3000, 1800 yoki 755 dollarga mos narxga (abonent to'lovisiz) sotib olish mumkin. Qizig'i shundaki, qo'shimcha pul uchun (yiliga) siz ajratilgan blok haqida ommaviy ma'lumotni "yashirish" ni sotib olishingiz mumkin. Hozirda ularning soni 232 taga yetdi, buni yuqorida ko‘rish mumkin.

MAC manzillarimiz qachon tugaydi?

Biz hammamiz 10 yildan beri davom etayotgan “IPv4 manzillari tugash arafasida” degan hikoyalardan juda charchadik. Ha, yangi IPv4 bloklarini olish endi oson emas. Ma'lumki, IP manzillari nihoyatda notekis taqsimlangan; Yirik korporatsiyalar va AQSh davlat idoralariga tegishli bo'lgan ulkan va to'liq foydalanilmagan bloklar mavjud, ammo ularni muhtojlarga qayta taqsimlashga umid yo'q. NAT, CG-NAT va IPv6 ning tarqalishi umumiy manzillar yetishmasligi muammosini yanada keskinlashtirdi.

MAC manzili 48 bitga ega, ulardan 46 tasini "foydali" deb hisoblash mumkin (nima uchun? o'qing), bu 246 yoki 1014 manzilni beradi, bu IPv214 manzil maydonidan 4 marta ko'pdir.
Hozirda taxminan yarim trillion manzillar tarqatilgan yoki umumiy hajmning atigi 0.73% ni tashkil etadi. Biz hali ham MAC manzillari tugashidan juda uzoqdamiz.

Tasodifiylik bitlari

Taxmin qilish mumkinki, OUI tasodifiy taqsimlanadi va sotuvchi ham tasodifiy ravishda individual tarmoq qurilmalariga manzillarni tayinlaydi. Shundaymi? Keling, simsiz tarmoqlarda ishlaydigan avtorizatsiya tizimlari tomonidan to'plangan 802.11 qurilmalarining MAC manzillari ma'lumotlar bazalarida bitlarning taqsimlanishini ko'rib chiqaylik. WNAM. Manzillar uch mamlakatda bir necha yil davomida Wi-Fi tarmog'iga ulangan haqiqiy qurilmalarga tegishli. Bundan tashqari, 802.3 simli LAN qurilmalarining kichik ma'lumotlar bazasi mavjud.

Keling, har bir namunaning har bir MAC manzilini (olti bayt) bitlarga, bayt-baytga ajratamiz va 1 pozitsiyaning har birida "48" bitning paydo bo'lish chastotasini ko'rib chiqamiz. Agar bit butunlay o'zboshimchalik bilan o'rnatilgan bo'lsa, unda "1" ni olish ehtimoli 50% bo'lishi kerak.

Wi-Fi tanlovi №1 (RF)
Wi-Fi namunasi № 2 (Belarus)
Wi-Fi tanlovi №3 (O‘zbekiston)
LAN namuna olish (RF)

Ma'lumotlar bazasidagi yozuvlar soni
5929000
1274000
366000
1000

Bit raqami:
% 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%

Nega 7 va 8 bitlarda bunday adolatsizlik? Deyarli har doim nol bor.

Haqiqatan ham, standart bu bitlarni maxsus (Vikipediya):
MAC manzili haqida bilmoqchi bo'lgan hamma narsa

MAC manzilining birinchi baytining sakkizinchi (boshidan boshlab) biti Unicast/Multicast bit deb ataladi va bu manzil bilan qanday turdagi kadr (ramka) uzatilishini, oddiy (0) yoki translyatsiya (1) (ko'p tarmoqli yoki eshittirish). Oddiy, unicast tarmoq adapteri aloqasi uchun bu bit unga yuborilgan barcha paketlarda "0" ga o'rnatiladi.

MAC manzilining birinchi baytining yettinchi (boshidan) biti U/L (Universal/Mahalliy) biti deb ataladi va manzil global miqyosda yagona (0) yoki mahalliy yagona (1) ekanligini aniqlaydi. Odatiy bo'lib, barcha "ishlab chiqaruvchi tomonidan tikilgan" manzillar global miqyosda noyobdir, shuning uchun to'plangan MAC manzillarining katta qismi "0" ga o'rnatilgan ettinchi bitni o'z ichiga oladi. Belgilangan OUI identifikatorlari jadvalida atigi 130 ga yaqin yozuvda U/L bit “1” ga ega va bular maxsus ehtiyojlar uchun MAC manzillar bloklaridir.

Birinchi baytning oltinchidan birinchi bitlarigacha, OUI identifikatorlarida ikkinchi va uchinchi baytlarning bitlari va undan ham ko'proq ishlab chiqaruvchi tomonidan tayinlangan manzilning 4-6 baytidagi bitlar ko'proq yoki kamroq teng taqsimlanadi. .

Shunday qilib, tarmoq adapterining haqiqiy MAC manzilida bitlar aslida ekvivalent bo'lib, yuqori baytning ikkita xizmat bitidan tashqari texnologik ma'noga ega emas.

Tarqalishi

Qiziq, qaysi simsiz uskunalar ishlab chiqaruvchilari eng mashhur? Keling, OUI ma'lumotlar bazasidagi qidiruvni №1 namunadagi ma'lumotlar bilan birlashtiramiz.

Sotuvchi
Qurilmalar ulushi, %

olma
26,09

Samsung
19,79

Huawei Technologies Co. Ltd
7,80

Xiaomi Communications Co Ltd
6,83

Sony Mobile Communications Inc
3,29

LG Electronics (Mobil aloqa)
2,76

ASUSTek KOMPYUTER INC.
2,58

TCT mobile ltd
2,13

zte korporatsiyasi
2,00

IEEE ma'lumotlar bazasida topilmadi
1,92

Lenovo Mobile Communication Technology Ltd.
1,71

HTC korporatsiyasi
1,68

Murata ishlab chiqarish
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 Korporatsiyasi
0,88

Shanghai Wind Technologies Co. Ltd
0,74

Lenovo Mobile Communication (Wuhan) Company Limited
0,71

Amaliyot shuni ko'rsatadiki, ma'lum bir joyda simsiz tarmoq abonentlari kontingenti qanchalik gullab-yashnasa, Apple qurilmalarining ulushi shunchalik ko'p bo'ladi.

O'zgarishlar

MAC manzillari noyobmi? Nazariy jihatdan, ha, chunki har bir qurilma ishlab chiqaruvchisi (MA blok egasi) o'zi ishlab chiqaradigan tarmoq adapterlarining har biri uchun noyob manzilni taqdim etishi kerak. Biroq, ba'zi chip ishlab chiqaruvchilari, xususan:

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

MAC manzilining oxirgi uch baytini tasodifiy raqamga o'rnating, ehtimol har bir qurilma qayta ishga tushirilgandan keyin. Mening 1-raqamli namunamda 82 ming shunday manzil bor edi.

Albatta, siz o'zingizga begona, noyob bo'lmagan manzilni belgilashingiz mumkin, uni maqsadli ravishda "qo'shningiznikiga o'xshab", uni hidlovchi bilan aniqlab yoki tasodifiy tanlab olishingiz mumkin. Masalan, Mikrotik yoki OpenWrt kabi routerning zaxira konfiguratsiyasini tiklash orqali tasodifan o'zingizga noyob bo'lmagan manzilni o'rnatishingiz mumkin.

Tarmoqda bir xil MAC manziliga ega ikkita qurilma bo'lsa nima bo'ladi? Bularning barchasi tarmoq uskunasining mantig'iga bog'liq (simli router, simsiz tarmoq boshqaruvchisi). Katta ehtimol bilan, ikkala qurilma ham ishlamaydi yoki vaqti-vaqti bilan ishlaydi. IEEE standartlari nuqtai nazaridan, MAC manzilini buzishdan himoyani, masalan, MACsec yoki 802.1X yordamida hal qilish taklif etiladi.

Agar siz ettinchi yoki sakkizinchi bit "1" ga o'rnatilgan MAC-ni o'rnatsangiz nima bo'ladi, ya'ni. mahalliy yoki multicast manzilmi? Ehtimol, sizning tarmog'ingiz bunga e'tibor bermaydi, lekin rasmiy ravishda bunday manzil standartga mos kelmaydi va buni qilmaslik yaxshiroqdir.

Randomizatsiya qanday ishlaydi

Biz bilamizki, efir to‘lqinlarini skanerlash va yig‘ish orqali odamlarning harakatini kuzatishning oldini olish maqsadida smartfon MAC operatsion tizimlari bir necha yillardan beri randomizatsiya texnologiyasidan foydalanmoqda. Nazariy jihatdan, ma'lum tarmoqlarni qidirishda efir to'lqinlarini skanerlashda smartfon manba sifatida MAC manzili bilan 802.11 prob so'rovi turidagi paketni (paketlar guruhini) yuboradi:

MAC manzili haqida bilmoqchi bo'lgan hamma narsa

Yoqilgan randomizatsiya sizga "tikilgan" manzilni emas, balki har bir skanerlash siklida vaqt o'tishi bilan yoki boshqa yo'l bilan o'zgarib turadigan boshqa paket manba manzilini belgilashga imkon beradi. Bu ishlaydimi? Keling, "Wi-Fi Radar" deb nomlangan havodan to'plangan MAC manzillari statistikasini ko'rib chiqaylik:

To'liq namuna
Namuna faqat nol 7-bit bilan

Ma'lumotlar bazasidagi yozuvlar soni
3920000
305000

Bit raqami:
% 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%

Rasm butunlay boshqacha.

MAC manzilining birinchi baytining 8-biti hali ham tekshiruv so'rovi paketidagi SRC manzilining Unicast xususiyatiga mos keladi.

7-bit 92.2% hollarda Mahalliy ga o'rnatiladi, ya'ni. Adolatli ishonch bilan, biz to'plangan manzillarning ko'pchiligi tasodifiy va 8% dan kamrog'i haqiqiy deb taxmin qilishimiz mumkin. Bunday holda, bunday real manzillar uchun OUIda bitlarning taqsimlanishi oldingi jadvaldagi ma'lumotlarga taxminan mos keladi.

Qaysi ishlab chiqaruvchi, OUI ma'lumotlariga ko'ra, tasodifiy manzillarga ega (ya'ni, "7" da 1-bit bilan)?

OUI tomonidan ishlab chiqaruvchi
Barcha manzillar orasida baham ko'ring

IEEE ma'lumotlar bazasida topilmadi
62.45%

Google Inc.
37.54%

dam olish
0.01%

Bundan tashqari, Google-ga tayinlangan barcha tasodifiy manzillar prefiks bilan bir xil OUI ga tegishli DA:A1:19. Bu prefiks nima? Keling, ichkariga qaraymiz Android manbalari.

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

Birja Android simsiz tarmoqlarni qidirishda maxsus, ro'yxatdan o'tgan OUI dan foydalanadi, bu ettinchi bit to'plamiga ega bo'lgan kam sonli qurilmalardan biri.

Tasodifiydan haqiqiy MACni hisoblang

Keling, u erda ko'rib chiqaylik:

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;
    }

Butun manzil yoki uning pastki uch bayti sof Random.nextLong(). "Haqiqiy MACni mulkiy qayta tiklash" - bu firibgarlik. Yuqori darajadagi ishonch bilan Android telefon ishlab chiqaruvchilari boshqa, ro'yxatdan o'tmagan OUI'lardan foydalanishini kutishimiz mumkin. Bizda iOS manba kodi yo'q, lekin u erda shunga o'xshash algoritm ishlatiladi.

Yuqoridagilar tekshiruv so'rovi ramkasining boshqa maydonlarini tahlil qilish yoki qurilma tomonidan yuborilgan so'rovlarning nisbiy chastotasining korrelyatsiyasi asosida Wi-Fi abonentlarini anonimlashtirishning boshqa mexanizmlari ishini bekor qilmaydi. Biroq, tashqi vositalar yordamida abonentni ishonchli kuzatish juda muammoli. Yig'ilgan ma'lumotlar ma'lum qurilmalar va odamlarga murojaat qilmasdan, katta raqamlarga asoslangan holda joy va vaqt bo'yicha o'rtacha/pik yukni tahlil qilish uchun ko'proq mos keladi. Faqat "ichkarida", mobil OT ishlab chiqaruvchilarining o'zlari va o'rnatilgan ilovalar aniq ma'lumotlarga ega.

Boshqa birovning qurilmangizning MAC manzilini bilishi nima uchun xavfli bo'lishi mumkin? Simli va simsiz tarmoqlar uchun xizmat ko'rsatishni rad etish hujumlarini boshlash mumkin. Bundan tashqari, simsiz qurilma uchun, ehtimol, sensor o'rnatilgan joyda uning paydo bo'lish momentini yozib olish mumkin. Manzilni aldash orqali siz o'zingizni qurilmangiz sifatida "ko'rsatishga" urinib ko'rishingiz mumkin, bu faqat qo'shimcha xavfsizlik choralari qo'llanilmasa (avtorizatsiya va/yoki shifrlash) ishlashi mumkin. Bu yerdagilarning 99.9 foizi xavotirga o‘rin yo‘q.

MAC manzili tuyulganidan ko'ra murakkabroq, ammo mumkin bo'lganidan ham oddiyroq.

Manba: www.habr.com

a Izoh qo'shish