همه می دانند که این شش بایت که معمولاً در قالب هگزادسیمال نمایش داده می شوند، در کارخانه به کارت شبکه اختصاص داده می شوند و به ظاهر تصادفی هستند. برخی از افراد می دانند که سه بایت اول آدرس شناسه سازنده است و سه بایت باقی مانده به آنها اختصاص داده می شود. همچنین مشخص است که می توانید خودتان را تنظیم کنید خودسرانه نشانی. بسیاری از مردم در مورد "آدرس های تصادفی" در Wi-Fi شنیده اند.
بیایید بفهمیم که چیست.
آدرس MAC (آدرس کنترل دسترسی رسانه) یک شناسه منحصر به فرد است که به یک آداپتور شبکه اختصاص داده شده است که در شبکه های استاندارد IEEE 802، عمدتاً اترنت، Wi-Fi و بلوتوث استفاده می شود. به طور رسمی "شناسه نوع EUI-48" نامیده می شود. از نام مشخص است که آدرس 48 بیت است، یعنی. 6 بایت هیچ استاندارد عمومی پذیرفته شده ای برای نوشتن یک آدرس وجود ندارد (بر خلاف آدرس IPv4، که در آن اکتت ها همیشه با نقطه از هم جدا می شوند). 00، اگرچه برخی از سازندگان تجهیزات علامت 11 -AB-CD-EF-22-00 و حتی 11ab.cdef.22 را ترجیح می دهند.
از لحاظ تاریخی، آدرسها در رام چیپست کارت شبکه بدون امکان تغییر آنها بدون برنامهنویس فلش فلش میشدند، اما امروزه آدرس را میتوان از طریق سیستم عامل به صورت برنامهنویسی تغییر داد. می توانید به صورت دستی آدرس MAC یک کارت شبکه را در Linux و MacOS (همیشه)، ویندوز (تقریباً همیشه، اگر درایور اجازه می دهد)، Android (فقط روت شده) تنظیم کنید. با iOS (بدون روت) چنین ترفندی غیرممکن است.
ساختار آدرس
آدرس شامل بخشی از شناسه سازنده، OUI، و یک شناسه اختصاص داده شده توسط سازنده است. تخصیص شناسه های OUI (شناسه منحصر به فرد سازمانی).
آدرس ها متعلق به کیست؟
پردازش آسان در دسترس عموم
فروشنده
تعداد بلوک ها / سوابق
تعداد آدرس، میلیون
سیسکو سیستم وارز
888
14208
اپل
772
12352
سامسونگ
636
10144
Huawei Technologies Co.Ltd
606
9696
شرکت اینتل
375
5776
ARRIS Group Inc.
319
5104
شرکت نوکیا
241
3856
خصوصی
232
2704
تگزاس اینسترومنتز
212
3392
شرکت zte
198
3168
مرجع ثبت IEEE
194
3072
هیولت پاکارد
149
2384
Hon Hai Precision
136
2176
TP-LINK
134
2144
دل شرکت
123
1968
درخت عرعر شبکه
110
1760
Sagemcom Broadband SAS
97
1552
شرکت فناوری های مخابراتی فیبرهوم محدود
97
1552
شرکت ارتباطات شیائومی با مسئولیت محدود
88
1408
Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312
گوگل تنها 40 مورد از آنها را دارد و این تعجب آور نیست: آنها خودشان دستگاه های شبکه زیادی تولید نمی کنند.
بلوک های MA به صورت رایگان ارائه نمی شوند، آنها را می توان با قیمت مناسب (بدون هزینه اشتراک) به ترتیب با قیمت 3000 دلار، 1800 دلار یا 755 دلار خریداری کرد. جالب است که برای پول اضافی (در سال) می توانید "پنهان کردن" اطلاعات عمومی در مورد بلوک اختصاص داده شده را خریداری کنید. همانطور که در بالا مشاهده می شود اکنون 232 مورد از آنها وجود دارد.
چه زمانی مک آدرس های ما تمام می شود؟
همه ما از داستان هایی که به مدت 10 سال در جریان است که «آدرس های IPv4 در شرف تمام شدن هستند» خسته شده ایم. بله، بلوک های جدید IPv4 دیگر به راحتی به دست نمی آیند. مشخص است که آدرس های IP
یک آدرس MAC دارای 48 بیت است که 46 بیت آن را می توان «مفید» در نظر گرفت (چرا؟ ادامه دهید)، که 246 یا 1014 آدرس می دهد، که 214 برابر بیشتر از فضای آدرس IPv4 است.
در حال حاضر، تقریباً نیم تریلیون آدرس یا فقط 0.73٪ از کل حجم توزیع شده است. ما هنوز با تمام شدن آدرس MAC بسیار بسیار فاصله داریم.
بیت های تصادفی
می توان فرض کرد که OUI ها به صورت تصادفی توزیع می شوند و سپس فروشنده به طور تصادفی آدرس هایی را به دستگاه های شبکه اختصاص می دهد. آیا اینطور است؟ بیایید به توزیع بیت ها در پایگاه داده آدرس های MAC دستگاه های 802.11 در اختیار من که توسط سیستم های مجوز کار در شبکه های بی سیم جمع آوری شده است نگاه کنیم.
بیایید هر آدرس MAC (شش بایت) هر یک از نمونه ها را بایت به بایت به بیت تقسیم کنیم و به فرکانس وقوع بیت "1" در هر یک از 48 موقعیت نگاه کنیم. اگر بیت به صورت کاملاً دلخواه تنظیم شده باشد، احتمال دریافت "1" باید 50٪ باشد.
انتخاب Wi-Fi شماره 1 (RF)
نمونه Wi-Fi شماره 2 (بلاروس)
انتخاب Wi-Fi شماره 3 (ازبکستان)
نمونه برداری LAN (RF)
تعداد رکوردها در پایگاه داده
5929000
1274000
366000
1000
شماره بیت:
٪ بیت "1"
٪ بیت "1"
٪ بیت "1"
٪ بیت "1"
1
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
2
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
3
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
4
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
5
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
6
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
7
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
8
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
9
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
10
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
11
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
12
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
13
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
14
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
15
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
16
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
17
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
18
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
19
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
20
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
21
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
22
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
23
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
24
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
25
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
26
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
27
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
28
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
29
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
30
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
31
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
32
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
33
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
34
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
35
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
36
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
37
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
38
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
39
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
40
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
41
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
42
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
43
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
44
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
45
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
46
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
47
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
48
٪۱۰۰
٪۱۰۰
٪۱۰۰
٪۱۰۰
چرا چنین بی عدالتی در 7 و 8 بیت؟ تقریبا همیشه صفر وجود دارد.
در واقع، استاندارد این بیت ها را به عنوان خاص (
هشتمین بیت (از ابتدا) از اولین بایت آدرس مک، بیت Unicast/Multicast نامیده می شود و تعیین می کند که چه نوع فریم (فریم) با این آدرس، معمولی (0) یا پخش (1) (چندپست یا پخش) ارسال شود. پخش). برای ارتباطات آداپتور شبکه معمولی و unicast، این بیت در تمام بسته های ارسال شده به آن روی "0" تنظیم می شود.
بیت هفتم (از ابتدا) از اولین بایت آدرس MAC، بیت U/L (جهانی/محلی) نامیده میشود و تعیین میکند که آیا آدرس در سطح جهانی (0)، یا منحصر به فرد محلی (1) است. بهطور پیشفرض، همه آدرسهای «تولیدکننده» در سطح جهانی منحصربهفرد هستند، بنابراین اکثریت قریب به اتفاق آدرسهای MAC جمعآوریشده حاوی بیت هفتم است که روی «۰» تنظیم شده است. در جدول شناسه های OUI اختصاص داده شده، تنها حدود 0 ورودی دارای بیت U/L "130" هستند و ظاهراً اینها بلوک هایی از آدرس های MAC برای نیازهای خاص هستند.
از بیت ششم تا اول بایت اول، بیت های بایت دوم و سوم در شناسه های OUI و حتی بیشتر از آن بیت های 4-6 بایت آدرس اختصاص داده شده توسط سازنده کم و بیش به طور مساوی توزیع می شوند. .
بنابراین، در آدرس MAC واقعی آداپتور شبکه، بیت ها در واقع معادل هستند و هیچ معنای تکنولوژیکی ندارند، به استثنای دو بیت سرویس از بایت بالا.
شیوع
آیا نمی دانید کدام تولید کنندگان تجهیزات بی سیم محبوب ترین هستند؟ بیایید جستجو در پایگاه داده OUI را با داده های نمونه شماره 1 ترکیب کنیم.
فروشنده
سهم دستگاه ها، %
اپل
26,09
سامسونگ
19,79
شرکت فناوری هواوی با مسئولیت محدود
7,80
شرکت ارتباطات شیائومی با مسئولیت محدود
6,83
شرکت ارتباطات سیار سونی
3,29
LG Electronics (ارتباطات موبایل)
2,76
ASUSTek COMPUTER Inc.
2,58
TCT Mobile Ltd
2,13
شرکت zte
2,00
در پایگاه داده IEEE یافت نشد
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
شرکت HTC
1,68
تولید موراتا
1,31
InPro Comm
1,26
شرکت مایکروسافت
1,11
شرکت فناوری موبایل شنژن TINNO
1,02
موتورولا (ووهان) Mobility Technologies Communication Co. Ltd.
0,93
شرکت نوکیا
0,88
شرکت فن آوری های باد شانگهای Ltd
0,74
شرکت Lenovo Mobile Communication (Wuhan) Limited
0,71
تمرین نشان می دهد که هر چه تعداد مشترکین شبکه های بی سیم در یک مکان معین مرفه تر باشد، سهم دستگاه های اپل بیشتر است.
منحصر به فرد بودن
آیا آدرس های MAC منحصر به فرد هستند؟ از نظر تئوری، بله، زیرا هر سازنده دستگاه (مالک بلوک MA) ملزم به ارائه یک آدرس منحصر به فرد برای هر یک از آداپتورهای شبکه ای است که تولید می کند. با این حال، برخی از تولید کنندگان تراشه، یعنی:
- 00:0A:F5 Airgo Networks, Inc. (اکنون کوالکام)
- 00:08:22 InPro Comm (اکنون MediaTek)
سه بایت آخر آدرس MAC را به یک عدد تصادفی تنظیم کنید، ظاهراً پس از هر بار راه اندازی مجدد دستگاه. در نمونه شماره 1 من 82 هزار آدرس از این دست وجود داشت.
البته میتوانید با تنظیم هدفمند «مثل همسایهتان»، شناسایی آن با ردگیر یا انتخاب تصادفی، یک آدرس خارجی و غیر منحصر به فرد برای خود تعیین کنید. همچنین ممکن است به طور تصادفی با بازیابی تنظیمات پشتیبان روتر مانند Mikrotik یا OpenWrt، یک آدرس غیر منحصر به فرد برای خود تنظیم کنید.
اگر دو دستگاه با آدرس MAC یکسان در شبکه وجود داشته باشد چه اتفاقی می افتد؟ همه اینها به منطق تجهیزات شبکه (روتر سیمی، کنترل کننده شبکه بی سیم) بستگی دارد. به احتمال زیاد، هر دو دستگاه یا کار نمی کنند یا به صورت متناوب کار می کنند. از نقطه نظر استانداردهای IEEE، حفاظت در برابر جعل آدرس MAC پیشنهاد شده است که با استفاده از MACsec یا 802.1X حل شود.
اگر یک MAC را با بیت هفتم یا هشتم روی "1" نصب کنید، یعنی چه؟ آدرس محلی یا چندپخشی؟ به احتمال زیاد شبکه شما به این موضوع توجه نخواهد کرد، اما به طور رسمی چنین آدرسی با استاندارد مطابقت ندارد و بهتر است این کار را نکنید.
تصادفی سازی چگونه کار می کند
می دانیم که برای جلوگیری از ردیابی حرکات افراد با اسکن و جمع آوری امواج، سیستم عامل های MAC گوشی های هوشمند چندین سال است که از فناوری تصادفی سازی استفاده می کنند. از نظر تئوری، هنگام اسکن امواج هوایی در جستجوی شبکه های شناخته شده، گوشی هوشمند یک بسته (گروهی از بسته ها) از نوع درخواست پروب 802.11 با آدرس MAC به عنوان منبع ارسال می کند:
تصادفیسازی فعال به شما این امکان را میدهد تا آدرس منبع بسته را نه «دوختهشده»، بلکه آدرس منبع بسته دیگری را مشخص کنید که با هر چرخه اسکن، در طول زمان یا به روشی دیگر تغییر میکند. آیا کار می کند؟ بیایید نگاهی به آمار آدرس های MAC جمع آوری شده از هوا توسط به اصطلاح "رادار Wi-Fi" بیندازیم:
نمونه کامل
نمونه فقط با بیت هفتم صفر
تعداد رکوردها در پایگاه داده
3920000
305000
شماره بیت:
٪ بیت "1"
٪ بیت "1"
1
٪۱۰۰
٪۱۰۰
2
٪۱۰۰
٪۱۰۰
3
٪۱۰۰
٪۱۰۰
4
٪۱۰۰
٪۱۰۰
5
٪۱۰۰
٪۱۰۰
6
٪۱۰۰
٪۱۰۰
7
٪۱۰۰
٪۱۰۰
8
٪۱۰۰
٪۱۰۰
9
٪۱۰۰
٪۱۰۰
10
٪۱۰۰
٪۱۰۰
11
٪۱۰۰
٪۱۰۰
12
٪۱۰۰
٪۱۰۰
13
٪۱۰۰
٪۱۰۰
14
٪۱۰۰
٪۱۰۰
15
٪۱۰۰
٪۱۰۰
16
٪۱۰۰
٪۱۰۰
17
٪۱۰۰
٪۱۰۰
18
٪۱۰۰
٪۱۰۰
19
٪۱۰۰
٪۱۰۰
20
٪۱۰۰
٪۱۰۰
21
٪۱۰۰
٪۱۰۰
22
٪۱۰۰
٪۱۰۰
23
٪۱۰۰
٪۱۰۰
24
٪۱۰۰
٪۱۰۰
25
٪۱۰۰
٪۱۰۰
26
٪۱۰۰
٪۱۰۰
27
٪۱۰۰
٪۱۰۰
28
٪۱۰۰
٪۱۰۰
29
٪۱۰۰
٪۱۰۰
30
٪۱۰۰
٪۱۰۰
31
٪۱۰۰
٪۱۰۰
32
٪۱۰۰
٪۱۰۰
33
٪۱۰۰
٪۱۰۰
34
٪۱۰۰
٪۱۰۰
35
٪۱۰۰
٪۱۰۰
36
٪۱۰۰
٪۱۰۰
37
٪۱۰۰
٪۱۰۰
38
٪۱۰۰
٪۱۰۰
39
٪۱۰۰
٪۱۰۰
40
٪۱۰۰
٪۱۰۰
41
٪۱۰۰
٪۱۰۰
42
٪۱۰۰
٪۱۰۰
43
٪۱۰۰
٪۱۰۰
44
٪۱۰۰
٪۱۰۰
45
٪۱۰۰
٪۱۰۰
46
٪۱۰۰
٪۱۰۰
47
٪۱۰۰
٪۱۰۰
48
٪۱۰۰
٪۱۰۰
تصویر کاملا متفاوت است.
هشتمین بیت از اولین بایت آدرس MAC همچنان با ماهیت Unicast آدرس SRC در بسته درخواست probe مطابقت دارد.
بیت هفتم در 7 درصد موارد روی Local تنظیم شده است، یعنی. با اطمینان نسبتاً خوبی، می توانیم فرض کنیم که دقیقاً تعداد زیادی از آدرس های جمع آوری شده تصادفی هستند و کمتر از 92.2٪ واقعی هستند. در این مورد، توزیع بیت ها در OUI برای چنین آدرس های واقعی تقریباً با داده های جدول قبلی مطابقت دارد.
کدام سازنده، طبق OUI، صاحب آدرس های تصادفی شده است (یعنی با بیت 7 در "1")؟
سازنده توسط OUI
بین همه آدرس ها به اشتراک بگذارید
در پایگاه داده IEEE یافت نشد
٪۱۰۰
شرکت گوگل
٪۱۰۰
باقی مانده
٪۱۰۰
علاوه بر این، تمام آدرس های تصادفی اختصاص داده شده به Google متعلق به همان OUI با پیشوند هستند DA:A1:19. این پیشوند چیست؟ بیایید نگاه کنیم
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Android Stock هنگام جستجوی شبکههای بیسیم از یک OUI ویژه ثبتشده استفاده میکند، که یکی از معدود مجموعههای بیت هفتم است.
MAC واقعی را از یک تصادفی محاسبه کنید
بیایید آنجا را ببینیم:
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;
}
کل آدرس یا سه بایت پایین آن خالص است Random.nextLong(). "بازیابی اختصاصی MAC واقعی" یک کلاهبرداری است. با درجه بالایی از اطمینان، میتوان انتظار داشت که سازندگان تلفنهای اندرویدی از سایر OUIهای ثبت نشده استفاده کنند. ما کد منبع iOS را نداریم، اما به احتمال زیاد الگوریتم مشابهی در آنجا استفاده می شود.
موارد فوق بر اساس تجزیه و تحلیل سایر زمینههای چارچوب درخواست کاوشگر یا همبستگی فرکانس نسبی درخواستهای ارسال شده توسط دستگاه، کار مکانیسمهای دیگر را برای بینامسازی مشترکین Wi-Fi لغو نمیکند. با این حال، ردیابی قابل اعتماد یک مشترک با استفاده از ابزارهای خارجی بسیار مشکل ساز است. دادههای جمعآوریشده برای تحلیل میانگین/پیک بار بر اساس مکان و زمان، بر اساس اعداد زیاد، بدون اشاره به دستگاهها و افراد خاص، مناسبتر خواهند بود. فقط «داخل»، خود سازندگان سیستم عامل موبایل و برنامه های نصب شده داده های دقیق دارند.
دانستن آدرس MAC دستگاه شما توسط شخص دیگری چه می تواند خطرناک باشد؟ حملات انکار سرویس را می توان برای شبکه های سیمی و بی سیم راه اندازی کرد. علاوه بر این، برای یک دستگاه بی سیم، به احتمال زیاد می توان لحظه ظهور آن را در محلی که سنسور نصب شده است، ثبت کرد. با جعل آدرس، میتوانید سعی کنید وانمود کنید که دستگاه شماست، که تنها در صورتی میتواند کار کند که از اقدامات امنیتی اضافی (مجوز و/یا رمزگذاری) استفاده نشود. 99.9٪ از مردم اینجا چیزی برای نگرانی ندارند.
آدرس MAC پیچیده تر از آن چیزی است که به نظر می رسد، اما ساده تر از آن چیزی است که می تواند باشد.
منبع: www.habr.com