網路上滿滿「修改 MAC 位址教學」,但真相是:**網卡出廠時燒錄的 48-bit 物理位址(MAC)終生不可變**。所謂「修改」,只是改寫 Windows 登錄表中映射的數值,讓查詢 MAC 的軟體讀到假值,實體網卡燒錄碼絲毫未動。
00-10-5C-AD-72-E3)。ipconfig /all 顯示的「實體位址」即為登錄表映射值,非直接讀取網卡 ROM。Windows 為了效能,不會每次都去 PCI/USB 總線讀取網卡 ROM,而是開機時把 MAC 讀進登錄表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\xxxx\NetworkAddress
應用程式呼叫 API 取得 MAC 時,系統直接回傳此登錄表值。因此改寫此值,就能欺騙大多數軟體(但無法欺騙交換器 Port Security、RADIUS、或直接下發 ARP 的設備)。
00508D746382。| 場景 | 登錄表偽裝是否有效 |
|---|---|
| 軟體授權綁定 MAC | 通常有效 |
| 路由器 MAC 過濾/綁定 | 有效(OSI 第 2 層交換器看封包來源 MAC,經驗上會攔截) |
| 企業級 802.1X / Port Security | 無效(交換器直接學習實體埠 MAC) |
| DHCP 伺服器保留 IP | 有效(DHCP 依封包來源 MAC 分配) |
| 抓包分析 / 取證 | 無效(封包真實來源 MAC 不變) |
狼披上羊皮仍是狼。登錄表修改只能欺騙作業系統層面的軟體查詢,無法改變實體網卡燒錄碼。若需真正更換 MAC(如更換網卡、使用支援 MAC 克隆的路由器、或可編程網卡),才是根本之道。使用偽裝 MAC 時請遵守網路使用政策與法律規範。