關於 MAC 位址您想知道的一切

關於 MAC 位址您想知道的一切大家都知道,這六個位元組通常以十六進位格式顯示,是在出廠時分配給網卡的,看似隨機。 有人知道地址的前三個位元組是製造商ID,剩下的三個位元組是分配給他們的。 眾所周知,您可以自己設置 隨意的 地址。 許多人都聽說過 Wi-Fi 中的「隨機地址」。

讓我們弄清楚它是什麼。

MAC位址(媒體存取控制位址)是分配給網路適配器的唯一標識符,用於IEEE 802標準的網絡,主要是乙太網路、Wi-Fi和藍牙。 正式名稱為「EUI-48 類型識別碼」。 從名稱中可以明顯看出該位址的長度為 48 位,即6位元組。 位址的編寫沒有普遍接受的標準(與IPv4 位址不同,IPv00 位址中的八位元組總是用點分隔)。通常將其寫為用冒號分隔的六個十六進位數字:11:AB: CD:EF:22: 00,儘管一些設備製造商喜歡符號 11 -AB-CD-EF-22-00 甚至 1122ab.cdef.XNUMX。

歷史上,位址被閃存到網卡晶片組的 ROM 中,如果沒有閃存編程器就無法修改它們,但現在可以透過作業系統以程式設計方式更改位址。 您可以在 Linux 和 MacOS(始終)、Windows(幾乎始終,如果驅動程式允許)、Android(僅 root 後)中手動設定網路卡的 MAC 位址; 對於 iOS(無需 root),這樣的技巧是不可能的。

地址結構

位址由製造商識別碼、OUI 和製造商指派的識別碼的一部分組成。 OUI(組織唯一識別碼)識別碼的分配 交易 IEEE 組織。 事實上,它的長度不僅可以是3個位元組(24位元),還可以是28或36位,其中大(MA-L)、中(MA-M)和中(MA-M)類型的位址塊(MAC位址塊,MA)分別形成較小的(MA-S)。 在這種情況下,發行區塊的大小將為 24、20、12 位元或 16 萬、1 萬、4 個位址。 目前分佈了大約 38 個區塊,可以使用多種線上工具查看它們,例如 IEEEWireshark的.

誰擁有這些地址?

公開可用的輕鬆處理 解除安裝資料庫 IEEE 提供了相當多的信息。 例如,有些組織為自己佔用了大量的OUI區塊。 這是我們的英雄:

小販
區塊/記錄數
地址數量,百萬

思科系統公司
888
14208

蘋果
772
12352

Samsung
636
10144

華為技術有限公司
606
9696

英特爾公司
375
5776

ARRIS集團公司
319
5104

諾基亞公司
241
3856

私人的
232
2704

德州儀器(TI)
212
3392

中興通訊公司
198
3168

IEEE 註冊機構
194
3072

惠普
149
2384

鴻海精密
136
2176

TP-LINK
134
2144

戴爾公司
123
1968

瞻博網絡
110
1760

Sagemcom寬帶SAS
97
1552

烽火通訊技術有限公司有限公司
97
1552

小米通信有限公司
88
1408

廣東OPPO行動通訊股份有限公司
82
1312

谷歌只有 40 家,這並不奇怪:他們本身並不生產很多網路設備。

MA 塊不是免費提供的,可以以合理的價格(無需訂閱費)分別購買,價格為 3000 美元、1800 美元或 755 美元。 有趣的是,花費額外的錢(每年),您可以購買「隱藏」有關分配塊的公共資訊。 如上所示,現在有 232 個。

我們什麼時候會用完 MAC 位址?

我們都對持續了 10 年的「IPv4 位址即將耗盡」的故事感到非常厭倦。 是的,新的 IPv4 區塊不再容易取得。 眾所周知,IP位址 分佈極不均勻; 然而,大公司和美國政府機構擁有巨大且未充分利用的區塊,將它們重新分配給有需要的人的希望渺茫。 NAT、CG-NAT 和 IPv6 的激增使得公共位址短缺的問題不再那麼嚴重。

MAC 位址有 48 位,其中 46 位可以被認為是「有用的」(為什麼?請繼續閱讀),這提供了 246 個或 1014 個位址,比 IPv214 位址空間多了 4 倍。
目前,大約已分配了 0.73 兆個地址,僅佔總數量的 XNUMX%。 我們距離耗盡 MAC 位址還很遠。

隨機性位

可以假設 OUI 是隨機分佈的,然後供應商也將位址隨機分配給各個網路設備。 是這樣嗎? 讓我們看看我可以使用的 802.11 設備的 MAC 位址資料庫中的位元分佈,這些資料是由無線網路中的工作授權系統收集的 世界自然運動協會。 這些位址屬於多年來在三個國家連接到 Wi-Fi 的真實裝置。 另外還有一個 802.3 有線 LAN 設備的小型資料庫。

讓我們將每個樣本的每個 MAC 位址(1 個位元組)逐個位元組地分解為位,並查看 48 個位置中每個位置中「1」位元出現的頻率。 如果該位以完全任意的方式設置,那麼得到“50”的機率應該是 XNUMX%。

Wi-Fi 選擇 1(RF)
Wi-Fi 樣本 2 號(白俄羅斯)
Wi-Fi 選擇 No. 3(烏茲別克)
LAN採樣(射頻)

資料庫中的記錄數
5929000
1274000
366000
1000

位元號:
% 位“1”
% 位“1”
% 位“1”
% 位“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%

為什麼7位和8位會有這樣的不公平? 幾乎總是有零。

事實上,該標準將這些位元定義為特殊的(維基百科):
關於 MAC 位址您想知道的一切

MAC位址第一個位元組的第八位(從頭算起)稱為單播/多播位,決定用該位址傳輸什麼類型的訊框(frame),常規(0)還是廣播(1)(多播或多播)播送)。 對於正常的單播網路適配器通信,發送給它的所有資料包中該位元均設為「0」。

MAC 位址第一個位元組的第七位(從頭開始)稱為 U/L(通用/本地)位,用於確定該位址是全域唯一 (0) 還是本機唯一 (1)。 預設情況下,所有「製造商縫合」位址都是全球唯一的,因此絕大多數收集的 MAC 位址的第七位元設定為「0」。 在分配的OUI識別碼表中,只有大約130個條目的U/L位元為“1”,顯然這些是用於特殊需求的MAC位址區塊。

從第一個位元組的第4 位到第6 位,OUI 標識符中的第XNUMX、XNUMX 個位元組的位,甚至製造商分配的位址的第XNUMX-XNUMX 個位元組的位,分佈得或多或少均勻。 。

這樣,在網路卡的真實MAC位址中,除了高位元組的兩個服務位元之外,其他位元實際上是等價的並且沒有技術意義。

流行

想知道哪些無線設備製造商最受歡迎? 讓我們將 OUI 資料庫中的搜尋與樣本 1 中的資料結合。

小販
設備份額,%

蘋果
26,09

Samsung
19,79

華為技術有限公司
7,80

小米通信有限公司
6,83

索尼移動通信公司
3,29

LG電子(行動通訊)
2,76

華碩電腦公司
2,58

TCT移動有限公司
2,13

中興通訊公司
2,00

在 IEEE 資料庫中未找到
1,92

聯想行動通訊技術有限公司
1,71

HTC公司
1,68

村田製作所
1,31

InPro通訊
1,26

微軟公司
1,11

深圳市天朗移動科技股份有限公司
1,02

摩托羅拉(武漢)行動科技通訊有限公司有限公司
0,93

諾基亞公司
0,88

上海風電科技有限公司有限公司
0,74

聯想行動通訊(武漢)有限公司
0,71

實踐表明,特定地點的無線網路用戶隊伍越繁榮,蘋果設備的份額就越大。

獨特性

MAC位址是唯一的嗎? 理論上是的,因為每個設備製造商(MA 區塊所有者)都需要為其生產的每個網路介面卡提供唯一的位址。 然而,一些晶片製造商,即:

  • 00:0A:F5 Airgo 網路公司(現為高通)
  • 00:08:22 InPro Comm(現為聯發科)

將 MAC 位址的最後三個位元組設定為隨機數,顯然是在每次裝置重新啟動後。 我的 1 號樣本中有 82 個這樣的地址。

當然,您可以透過有目的地將其設定為「像您的鄰居一樣」、使用嗅探器識別它或隨機選擇它來為自己設定一個外國的、非唯一的地址。 也可能會意外地為自己設定一個非唯一的位址,例如,還原 Mikrotik 或 OpenWrt 等路由器的備份設定。

如果網路上有兩台裝置具有相同的 MAC 位址,會發生什麼情況? 這一切都取決於網路設備(有線路由器、無線網路控制器)的邏輯。 最有可能的是,這兩種設備都無法工作或間歇性工作。 從IEEE標準的角度來看,建議使用例如MACsec或802.1X來解決防止MAC位址欺騙的問題。

如果您安裝的 MAC 的第七位元或第八位元設定為「1」(即本機位址還是組播位址? 您的網路很可能不會注意到這一點,但從形式上來說,這樣的位址不符合標準,最好不要這樣做。

隨機化的工作原理

我們知道,為了防止透過掃描和收集電波來追蹤人們的行動,智慧型手機 MAC 作業系統多年來一直在使用隨機化技術。 理論上,當掃描電波以搜尋已知網路時,智慧型手機會發送 802.11 探測請求類型的封包(封包組),並將 MAC 位址作為來源:

關於 MAC 位址您想知道的一切

啟用隨機化可讓您指定不是「縫合」的位址,而是指定一些其他資料包來源位址,這些位址會隨著每個掃描週期、隨著時間的推移或以某種其他方式而變化。 有效嗎? 讓我們來看看所謂的「Wi-Fi 雷達」從空中收集到的 MAC 位址的統計數據:

整個樣本
僅使用第 7 位元為零進行採樣

資料庫中的記錄數
3920000
305000

位元號:
% 位“1”
% 位“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%

情況完全不同。

MAC位址第一個位元組的第8位元仍然對應於探測請求封包中SRC位址的單播性質。

在 7% 的情況下,第 92.2 位元設定為 Local,即帶著相當的置信度,我們可以假設所收集的地址中有很多都是隨機的,只有不到 8% 是真實的。 在這種情況下,此類真實位址的 OUI 中的位元分佈與上表中的資料大致一致。

根據 OUI 的說法,哪個製造商擁有隨機位址(即第 7 位元為「1」)?

製造商:OUI
在所有地址之間共用

在 IEEE 資料庫中未找到
企業排放佔全球 62.45%

谷歌公司
企業排放佔全球 37.54%

其餘的
企業排放佔全球 0.01%

此外,所有指派給 Google 的隨機位址都屬於具有前綴的相同 OUI DA:A1:19。 這個前綴是什麼? 讓我們看看 安卓來源.

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

普通 Android 在搜尋無線網路時使用特殊的註冊 OUI,這是少數設定了第七位的 OUI 之一。

從隨機 MAC 計算真實 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」是一個騙局。 我們充滿信心地預期 Android 手機製造商會使用其他未註冊的 OUI。 我們沒有 iOS 原始碼,但很可能使用了類似的演算法。

上述內容並沒有取消基於對探測請求幀其他字段的分析或設備發送請求的相對頻率的相關性來對 Wi-Fi 用戶進行去匿名化的其他機制的工作。 然而,使用外部手段可靠地追蹤訂戶是非常有問題的。 收集的數據將更適合根據大量數據按位置和時間分析平均/峰值負載,而不參考特定設備和人員。 只有那些「內部」、行動作業系統製造商本身以及安裝的應用程式才擁有準確的數據。

其他人知道您裝置的 MAC 位址會帶來什麼危險? 可以針對有線和無線網路發動拒絕服務攻擊。 此外,對於無線設備來說,有可能在安裝感測器的地方記錄其出現的時刻。 透過欺騙地址,您可以嘗試「冒充」您的設備,這只有在不使用其他安全措施(授權和/或加密)的情況下才能運作。 這裡99.9%的人沒有什麼好擔心的。

MAC 位址比看起來更複雜,但也比想像的更簡單。

來源: www.habr.com

添加評論