MAC 地址查詢

識別 MAC 地址背後的廠商,在冒號、連字元與 Cisco 格式之間互轉,並解讀通用/本地位與組播位。全部在瀏覽器中完成。

查出 MAC 地址背後的廠商,並讀懂這串地址本身透露的資訊。 任意格式的地址都可以直接輸入;也可以反過來輸入公司名稱,在登錄檔中反查。

支援冒號、連字元、點分和純十六進位制。廠商查詢至少需要前三個位元組。

MAC 地址到底編碼了什麼

六個位元組,從中間一分為二

MAC 地址是 48 位,寫作六個位元組。前三個位元組是組織唯一識別符號(OUI),由 IEEE 出售給製造商;後三個位元組由該製造商自行分配,保證它生產的每個網絡卡都不重複。廠商查詢的全部依據就是這一劃分:你識別的不是裝置,而是"誰買下了這段號碼"。

由此帶來一個常被忽略的後果:查到的廠商是網路晶片的製造者,未必是機器外殼上的品牌。筆記型電腦經常報出無線網絡卡晶片廠商而不是整機品牌;虛擬機器報出的則是虛擬化平臺,因為地址由虛擬化層生成。

書寫格式純粹是外觀差異。冒號分隔的位元組對、連字元分隔的位元組對、Cisco 的三組四位以及純十六進位制,描述的是同樣的 48 位。只不過廠商和作業系統在展示方式上各行其是,所以格式互轉才成了高頻瑣事。

改變含義的兩個位元

第一個位元組的次低位是"通用/本地"標誌。該位為 0 表示地址來自 IEEE 分配的地址塊,此時廠商查詢才有意義;該位為 1 表示地址是本地選定的,任何登錄檔都不會收錄它——查不到是預期結果,而不是資料缺失。

這一位正是現代手機和筆記本"查不到廠商"的原因。隨機 MAC 地址如今已是 Wi-Fi 掃描的預設行為,連線時往往也啟用,它會刻意置上本地位,就是為了無法被追溯到製造商、也無法跨網路關聯。看到本地管理地址時,隱私隨機化是最可能的解釋。

第一個位元組的最低位是"單播/組播"標誌。為 0 表示該幀發往單個介面,為 1 表示發往一組介面;廣播地址(48 位全為 1)只是其極端情形。如果你以為在看裝置地址卻發現組播位被置上,通常說明你看到的是協議地址而非硬體地址。

從 MAC 到 IPv6,以及它為何被棄用

頁面上顯示的"修改版 EUI-64",是過去用硬體地址構造 IPv6 地址的方法:在 MAC 中間插入 FF 和 FE 兩個位元組,並翻轉通用/本地位,得到 64 位介面識別符號,再接到網路字首之後。

它能用,而且完全確定——而這恰恰是問題所在。這樣生成的地址會把你的硬體身份帶進你加入的每一個網路,讓任何人都能跨地點關聯你的流量。RFC 8981 的隱私擴充套件與 RFC 7217 的穩定但不透明識別符號取代了這種做法,現代系統預設不再從 MAC 推導地址。

但這個轉換仍然值得理解,因為它正是讓 fe80:: 鏈路本地地址變得可讀的關鍵。看到介面識別符號中間出現 FF FE 模式,你就能一眼判斷它派生自 MAC,並據此還原出原始硬體地址。

自研實現。廠商名稱來自公開的 IEEE MA-L 登錄檔,以靜態檔案形式由瀏覽器下載一次;查詢在本地完成,不會把地址傳送到任何地方。

常見問題

為什麼筆記本查出來是晶片廠商而不是我買的品牌?
OUI 屬於網絡卡的製造者,而不是整機組裝方。少數幾家的無線晶片會出現在幾十個品牌的機器裡。
為什麼手機的 MAC 地址查不到?
現代手機會為隱私隨機化 Wi-Fi 地址。隨機地址會置上本地管理位且從不註冊,因此任何查詢都無法解析。
幾種書寫格式有什麼區別?
只有標點不同。冒號、連字元、Cisco 點分四位和純十六進位制編碼的都是同樣的 48 位,只是各廠商選擇了不同的慣例。
地址上的組播位意味著什麼?
它表示該幀發往一組介面而非單個介面。如果你以為在看裝置地址卻發現組播位,多半看到的是協議地址或廣播地址。
能通過 MAC 地址定位到具體裝置嗎?
不能。地址只能說明哪家廠商擁有該號段,無法得知型號、機主或位置;由於隨機化,它甚至可能並不長期穩定。
查詢時我的 MAC 地址會被髮送出去嗎?
不會。登錄檔檔案只下載到瀏覽器一次,之後所有查詢都在本地進行,你輸入的地址不會被傳輸。