1. 程式人生 > >修改MAC地址的原理

修改MAC地址的原理

原文地址:http://blog.chinaunix.net/u1/56207/showart_460555.html

一、MAC地址的用途
MAC地址在網絡卡中是固定的,每張網絡卡的MAC地址都不一樣。網絡卡在製作過程中,廠家會在它的EPROM裡面燒錄上一組數字,這組數字,每張網絡卡都各不相同,這就是網絡卡的MAC(物理)地址。
由 於MAC地址的唯一性,因此它主要用來識別網路中使用者的身份。例如ADSL上網時,電信用它來記費,確認是你上的網;在校園網中,MAC地址也可以用來識 別用戶。對於校園網的正式使用者,其MAC地址會登記在伺服器端,假如你是非法使用者,伺服器中就沒有你的網絡卡MAC地址,這樣當你試圖連上網時,伺服器就會 立刻認出你、阻止你連上網路。
二、MAC地址是可以修改的
有些場合,例如冒充網路中的正式使用者,就需要修改你的網絡卡MAC。要修改MAC地址,你可以通過硬體的方法實現,即利用網絡卡廠家提供的修改程式來燒錄網絡卡的EEPROM,這樣做雖然可行,但是風險很大、操作也複雜,即使你很有經驗,也難免在操作中出現錯誤。
其 實你完全沒必要用燒錄方法、修改網絡卡中的MAC地址。要知道Windows安裝的時候,會自動從網絡卡中讀入MAC地址,把它存放在登錄檔中以備後用。當數 據在網路中傳輸時,從網絡卡發出的資料包中要求有一個源MAC地址,這個MAC地址就是從登錄檔中讀取的(並非從網絡卡中讀取的),因此只要你修改了登錄檔中 的MAC地址,就相當於改了網絡卡EEPROM中的MAC地址,兩者實際效果是完全相同的!
三、修改登錄檔中MAC的方法
1、使用軟體修改
本方法適用於所有型別的網絡卡。在不同的Windows下,要用不同的軟體修改MAC。
(1)Win2003/XP/2000
如果你的系統是Win2003/XP/2000,可以使用SMAC(下載地址

http://www.klcconsulting.net/smac/#Download )。這款軟體並不能修改網絡卡中的MAC地址,只能修改登錄檔中的MAC。
該 軟體有兩種執行模式,如果你啟用了“Windows Management Instrumentation (WMI)”服務,軟體即執行在[WBEM ON]模式下,可以顯示更多的網絡卡資訊,否則執行在[WBEM OFF]模式下,在軟體視窗標題欄可看到當前執行模式。
軟體的使用非常簡單,執行後點擊“Refresh”,視窗中的列表框將顯示網絡卡的型別、IP地址、Active MAC等,在下面六個輸入框中輸入你指定的MAC地址(下圖1),然後點選右側的“Update MAC”,即可修改完成;最後重啟電腦使修改值生效。
注意,試用版不能輸入新的MAC地址,只能把MAC改成0C-0C-0C-0C-0C-01
2、在網絡卡屬性中修改
如果你的網絡卡採用了RealTek公司的RTL8139晶片,就可以在網絡卡屬性中修改MAC,這樣登錄檔中的MAC地址也會一同改變,方法如下:
在 Win2003/XP/2000中,點選選單“開始”/設定/控制面板,雙擊“系統”,點選“硬體”/裝置管理器,在裝置管理器中展開“網路介面卡”,右 擊要修改MAC地址的網絡卡,選擇“屬性”;點選“高階”選項卡,在“屬性”下,選擇點選Network Address專案,在右側“值”的下方,輸入你要指定的MAC地址值(例如020202020202),注意要連續輸入12個數字或字母(中間不要輸入 -);重新啟動電腦後,修改即可生效。至於Win98下的MAC修改方法,與以上方法類似。
如果修改之後,在Win2003/XP/2000 下,你又想把登錄檔中的MAC地址恢復成原樣,可以選擇“Network Address”項,將右邊的值選擇為“不存在”,再重新啟動即可;在Win98下是選擇“沒有顯示”。
3、在登錄檔中修改
對於非RTL8139晶片的網絡卡,你可以直接修改登錄檔中的MAC,注意:修改登錄檔前,要先備份登錄檔。
Win2003/XP/2000
點 擊“開始”/執行,輸入regedit開啟登錄檔,定位到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet /Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}/0000、0001、0002等主鍵 下,查詢DriverDesc的內容,瞭解網絡卡使用了哪個主鍵(例如0001),如果主鍵下有params項,則該主鍵也是網絡卡所使用的;
例 如網絡卡使用了0001主鍵,因此我們就選中它,在其右邊建一個字串項(名為NetworkAddress),雙擊該串,輸入你指定的MAC地址值(注意 應該是12位的連續數字或字母,其間沒有-號);在0001下的NDI/params中新增一項子鍵(名為NetworkAddress),選擇該子鍵, 在其右邊新增名為default的字串,鍵值為修改後的MAC地址,與上面的數值相同;修改後重啟生效。
四、MAC地址改好了嗎?
如果你想知道系統中的MAC地址是否修改成功了,可以這樣操作:重啟電腦,在命令提示符下,輸入IPconfig/all命令,於是Physical Address右邊就會顯示一個地址,你檢查一下即可得知MAC是否修改成功了。