Alla vet att dessa sex byte, vanligtvis visas i hexadecimalt format, är tilldelade nätverkskortet från fabriken och vid första anblicken är slumpmässiga. Vissa vet att de första tre byten i adressen är tillverkarens identifierare, och de återstående tre byten är tilldelade dem. Det är också känt att du kan ställa in själv godtycklig adress. Många har hört talas om "slumpmässiga adresser" inom Wi-Fi.
Låt oss ta reda på vad det är.
MAC-adress (media access control address) är en unik identifierare som tilldelas ett nätverkskort och används i IEEE 802-standardnätverk, främst Ethernet, Wi-Fi och Bluetooth. Officiellt kallas den "EUI-48 type identifier". Som namnet antyder är adressen 48 bitar lång, dvs. 6 byte. Det finns ingen allmänt accepterad standard för att skriva adressen (till skillnad från IPv4-adressen, där oktetter alltid separeras med punkter). Den skrivs vanligtvis som sex hexadecimala tal separerade med ett kolon: 00:AB:CD:EF:11:22, även om vissa utrustningstillverkare föredrar att skriva som 00-AB-CD-EF-11-22 och till och med 00ab.cdef.1122.
Исторически адреса прошивались в ПЗУ чипсета сетевой карты без возможности их модификации без флеш-программатора, но в настоящее время адрес может быть изменен программно, из операционной системы. Задать вручную МАС адрес сетевой карте можно в Linux и MacOS (всегда), Windows (почти всегда, если позволит драйвер), Android (только рутованный); с iOS (без рута) подобный трюк невозможен.
Adressstruktur
En adress består av en tillverkaridentifierare, OUI, och en identifierare som tilldelats av tillverkaren. Tilldelning av OUI-identifierare (Organizationally Unique Identifier) IEEE-organisation. Faktum är att dess längd inte bara kan vara 3 byte (24 bitar), utan 28 eller 36 bitar, från vilka block (MAC-adressblock, MA) av adresser av typen Large (MA-L), Medium (MA-M) respektive Small (MA-S) bildas. Storleken på det utfärdade blocket kommer i detta fall att vara 24, 20, 12 bitar eller 16 miljoner, 1 miljon, 4 tusen adresser. För närvarande distribueras cirka 38 tusen block, de kan ses av många onlineverktyg, till exempel på eller .
Vem äger adresserna?
Enkel bearbetning av offentligt tillgängliga IEEE ger en hel del information. Till exempel har vissa organisationer tagit många OUI-block för sig själva. Här är våra hjältar:
Säljare
Antal block/poster
Antal adresser, miljoner
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
Privat
232
2704
Texas Instruments
212
3392
ZTE-företaget
198
3168
IEEE-registreringsmyndigheten
194
3072
Hewlett Packard
149
2384
Hon Hai Precision
136
2176
TP-LINK
134
2144
Dell Inc.
123
1968
Juniper Networks
110
1760
Sagemcom Broadband SAS
97
1552
Fiberhome Telekommunikationsteknik AB
97
1552
Xiaomi Communications Co Ltd
88
1408
Guangdong Oppo Mobile Telecommunications Corp. Ltd
82
1312
Google har bara 40 stycken, vilket inte är förvånande: de tillverkar inte många nätverksenheter själva.
MA-block tillhandahålls inte gratis, de kan köpas för en rimlig peng (utan prenumerationsavgift) för 3000, 1800 respektive 755 dollar. Intressant nog kan man för ytterligare pengar (per år) köpa att "dölja" offentlig information om det tilldelade blocket. Det finns för närvarande 232 stycken, som ni kan se ovan.
När MAC-adresserna tar slut
Vi är alla ganska trötta på historierna som har pågått i 10 år nu om hur ”IPv4-adresser snart tar slut”. Ja, det är inte längre lätt att få nya IPv4-block. Samtidigt är det känt att IP-adresser Det finns gigantiska och underutnyttjade block som ägs av stora företag och amerikanska myndigheter, men med föga hopp om att omfördela dem till behövande. Spridningen av NAT, CG-NAT och IPv6 har gjort problemet med brist på offentliga adresser mindre akut.
MAC-adressen har 48 bitar, varav 46 kan anses vara "användbara" (varför? läs vidare), vilket ger 246 eller 1014 adresser, vilket är 214 gånger mer än IPv4-adressutrymmet.
Det finns för närvarande ungefär en halv biljon adresser allokerade, eller bara 0.73 % av det totala antalet. Vi är fortfarande en lång, lång väg ifrån att få slut på MAC-adresser.
Slumpmässighet av bitar
Man kan anta att OUI:er distribueras slumpmässigt, och att leverantören sedan tilldelar adresser till enskilda nätverksenheter lika slumpmässigt. Stämmer detta? Låt oss titta på bitfördelningen i MAC-adressdatabaserna för 802.11-enheter som jag har, insamlade av fungerande auktoriseringssystem i trådlösa nätverk. Adresserna tillhör riktiga enheter som varit anslutna till Wi-Fi under flera år i tre länder. Dessutom finns det en liten databas med 802.3-trådbundna LAN-enheter.
Låt oss dela upp varje MAC-adress (sex byte) i varje sampel i bitar byte för byte, och titta på frekvensen för bit "1" i var och en av de 48 positionerna. Om biten sätts helt slumpmässigt, borde sannolikheten att få "1" vara 50 %.
Wi-Fi-exempel nr 1 (RF)
Wi-Fi-exempel nr 2 (Vitryssland)
Wi-Fi-exempel #3 (Uzbekistan)
LAN-sampling (RF)
Antal poster i databasen
5929000
1274000
366000
1000
Bitnummer:
% 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%
Varifrån kommer denna orättvisa i 7 och 8 bitar? Det finns nästan alltid nollor där.
Standarden definierar faktiskt dessa bitar som speciella ():

Den åttonde (från början) biten i den första byten av MAC-adressen kallas Unicast/Multicast-biten och avgör vilken typ av ram som sänds med denna adress, normal (0) eller broadcast (1) (multicast eller broadcast). För normal, unicast-interaktion med nätverkskortet sätts denna bit till "0" i alla paket som skickas av det.
Den sjunde (från början) biten i den första byten av MAC-adressen kallas U/L-biten (Universal/Local) och avgör om adressen är globalt unik (0) eller lokalt unik (1). Som standard är alla adresser som "programmerats av tillverkaren" globalt unika, så den överväldigande majoriteten av insamlade MAC-adresser har den sjunde biten inställd på "0". I tabellen över tilldelade OUI-identifierare har endast cirka 130 poster U/L-biten "1", och tydligen är dessa block av MAC-adresser för speciella ändamål.
Den sjätte till första biten i den första byten, den andra och tredje byten i OUI-identifierarna, och särskilt bitarna i den fjärde till sjätte byten i den adress som tilldelats av tillverkaren, är mer eller mindre jämnt fördelade.
Således är bitarna i nätverkskortets verkliga MAC-adress faktiskt likvärdiga och har ingen teknologisk betydelse, med undantag för två servicebitar av den mest signifikanta byten.
Utbredning
Jag undrar vilka tillverkare av trådlös utrustning som är mest populära? Låt oss kombinera OUI-databasens sökning med data från exempel #1.
Säljare
Andel enheter, %
Apple
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 kommunikation)
2,76
ASUSTek COMPUTER INC.
2,58
TCT mobil ltd
2,13
ZTE-företaget
2,00
hittades inte i IEEE-databasen
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC 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
Erfarenheten visar att ju rikare andelen trådlösa nätverksabonnenter är på en given plats, desto större är andelen Apple-enheter.
unikhet
Är MAC-adresser unika? I teorin, ja, eftersom varje enhetstillverkare (ägare av MA-blocket) är skyldig att tillhandahålla en unik adress för varje nätverkskort den producerar. Vissa chiptillverkare, nämligen:
- 00:0A:F5 Airgo Networks, Inc. (nu Qualcomm)
- 00:08:22 InPro Comm (nu MediaTek)
ställa in de sista tre byten av MAC-adressen till ett slumpmässigt tal, tydligen efter varje omstart av enheten. Det fanns 1 tusen sådana adresser i mitt exempel #82.
Naturligtvis kan du ställa in en främmande, icke-unik adress genom att avsiktligt ställa in den "som din grannes", genom att upptäcka den med en sniffer eller genom att välja slumpmässigt. Det är också möjligt att av misstag ställa in en icke-unik adress genom att till exempel återställa en säkerhetskopia av konfigurationen för en router som Mikrotik eller OpenWrt.
Vad händer om det finns två enheter med samma MAC-adress i nätverket? Allt beror på nätverksutrustningens logik (trådbunden router, trådlös nätverkskontroller). Troligtvis kommer båda enheterna antingen inte att fungera eller att fungera intermittent. Ur IEEE-standarders synvinkel föreslås skydd mot MAC-adressförfalskning lösas med till exempel MACsec eller 802.1X.
Vad händer om du ställer in en MAC-adress med den sjunde eller åttonde biten inställd på "1", d.v.s. en lokal adress eller multicast-adress? Troligtvis kommer ditt nätverk inte att uppmärksamma detta, men formellt sett kommer en sådan adress inte att uppfylla standarden, och det är bättre att inte göra det.
Hur randomisering fungerar
Vi vet att för att förhindra spårning av människors rörelser genom att skanna etern och samla in MAC-adresser har smarttelefonoperativsystem använt slumpmässig teknik i flera år. I teorin skickar en smartphone ut ett paket (eller en grupp av paket) av typen 802.11-probeförfrågan med en MAC-adress som källa när den skannar etern efter kända nätverk:

Aktiverad slumpmässighet låter dig ange inte den "hårdkopplade" adressen, utan någon annan adress för paketkällan, som ändras med varje skanningscykel, över tid eller på något annat sätt. Fungerar det? Låt oss titta på statistiken över MAC-adresser som samlats in från luften av den så kallade "Wi-Fi-radaren":
Hela provet
Val med endast noll 7:e bit
Antal poster i databasen
3920000
305000
Bitnummer:
% 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%
Bilden är helt annorlunda.
Den åttonde biten av den första byten av MAC-adressen motsvarar fortfarande Unicast-karaktären hos SRC-adressen i probeförfråganpaketet.
Den sjunde biten är satt till Lokal i 7 % av fallen, d.v.s. vi kan med en hyfsad grad av säkerhet anta att exakt så många av de insamlade adresserna är slumpmässiga, och mindre än 92.2 % är verkliga. Fördelningen av bitar i OUI för sådana verkliga adresser matchar ungefär data i föregående tabell.
Vilken tillverkare, enligt OUI, äger slumpmässiga adresser (dvs. med den sjunde biten satt till "7")?
Tillverkare av OUI
Dela mellan alla adresser
hittades inte i IEEE-databasen
62.45%
Google Inc.
37.54%
resten
0.01%
I det här fallet tillhör alla slumpmässigt tilldelade adresser till Google en enda OUI med prefixet DA:A1:19Vad är detta prefix? Låt oss titta på .
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");Stock Android använder ett speciellt, registrerat OUI för att söka efter trådlösa nätverk, ett av få med den sjunde biten installerad.
Beräkna den verkliga MAC-mängden från den slumpmässiga
Låt oss titta där:
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;
}
Hela adressen, eller dess tre nedre byte, är ren Random.nextLong(). «Патентованное восстановление реального МАС» — надувательство. С большой долей уверенности можно ожидать, что производители Android-телефонов применяют и другие, не зарегистрированные OUI. Исходников iOS у нас нет, но скорее всего там применен схожий алгоритм.
Ovanstående upphäver inte arbetet med andra mekanismer för avanonymisering av Wi-Fi-abonnenter, baserat på analys av andra fält i probe-förfrågningsramen, eller korrelationen av den relativa frekvensen av förfrågningar som skickas av enheten. Det är dock extremt problematiskt att tillförlitligt spåra en abonnent med externa medel. Den insamlade datan är mer lämplig för att analysera genomsnittlig/toppbelastning efter plats och tid, baserat på stora siffror, utan hänvisning till specifika enheter och personer. Endast de "inuti" har korrekta data, tillverkarna av mobila operativsystem själva och de installerade applikationerna.
Vad är farligt med att någon får reda på din enhets MAC-adress? En denial-of-service-attack kan utföras på både trådbundna och trådlösa nätverk. För en trådlös enhet finns det också en risk att dess närvaro på sensorns plats kan upptäckas. Adressförfalskning kan användas för att utge sig för att vara din enhet, men detta fungerar bara om ytterligare säkerhetsåtgärder (auktorisering och/eller kryptering) inte finns på plats. 99.9% Folk här har inget att oroa sig för.
MAC-adressen är mer komplicerad än den ser ut, men enklare än den kan vara.
Källa: will.com
