Allt du ville veta om MAC-adressen

Allt du ville veta om MAC-adressenAlla 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å IEEE eller Wireshark.

Vem äger adresserna?

Enkel bearbetning av offentligt tillgängliga lossning av databaser 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 extremt ojämnt fördeladeDet 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. WNAMAdresserna 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 (Wikipedia):
Allt du ville veta om MAC-adressen

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:

Allt du ville veta om MAC-adressen

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å källor Android.

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

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster