如今大家都是ADSL上網,當你查網費時就會發現,每次上網電信都會記錄下你的網卡MAC地址,這是因為IP地址是動態(每次上網都不同),而MAC地址卻是不變的──每張網卡都有一個與眾不同的MAC(物理)地址,因此MAC地址就成了客戶的網上身份證,通過記錄MAC地址,即可確認是你上的網!
一、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”,即可修改完成;最後重啟電腦使修改值生效。
圖 1
注意,試用版不能輸入新的MAC地址,只能把MAC改成0C-0C-0C-0C-0C-01
(2)Win98
如果你的系統是Win98,建議使用“Mac掃描器”,這個工具可以修改註冊表中的MAC地址,然後重啟電腦使修改生效。
2、在網卡屬性中修改
如果你的網卡採用了RealTek公司的RTL8139晶片,就可以在網卡屬性中修改MAC,這樣註冊表中的MAC地址也會一同改變,方法如下:
在Win2003/XP/2000中,點擊菜單“開始”/設定/控制台,雙擊“系統”,點擊“硬體”/裝置管理員,在裝置管理員中展開“網路介面卡”,右擊要修改MAC地址的網卡,選擇“屬性”;點擊“進階”選項卡,在“屬性”下,選擇點擊Network Address項目(圖2),在右側“值”的下方,輸入你要指定的MAC地址值(例如020202020202),注意要連續輸入12個數字或字母(中間不要輸入-);重新啟動電腦後,修改即可生效。至於Win98下的MAC修改方法,與以上方法類似。
圖 2
如果修改之後,在Win2003/XP/2000 下,你又想把註冊表中的MAC地址恢複成原樣,可以選擇“Network Address”項,將右邊的值選擇為“不存在”,再重新啟動即可;在Win98下是選擇“沒有顯示”。
3、在註冊表中修改
對於非RTL8139晶片的網卡,你可以直接修改註冊表中的MAC,注意:修改註冊表前,要先備份註冊表。
(1)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地址,與上面的數值相同;修改後重啟生效。
(2)Win98
點擊“開始”/運行,鍵入winipcfg選擇你要修改的網卡,並記錄下MAC地址值;然後點擊“開始”/運行,輸入regedit開啟註冊表,定位到HKEY_LOCAL_MACHINE/System/Current ControlSet/Services/Class/Net,下面有“0000”、“0001”、“0002”等子鍵;從“0000”子鍵開始點擊,依次尋找子鍵下的“DriverDesc”鍵內容,直到找到剛才記錄的MAC地址為止;
例如網卡使用了0001主鍵,因此我們就選中它,在其右邊建立一個串,名稱為networkaddress,再雙擊該串,輸入新的MAC地址值(注意應該是12位的連續數字或字母,其間沒有-號);最後重啟電腦使修改生效。
4、linux系統
如果你的系統是linux,想修改系統中的MAC地址(例如改為020202020202),操作方法是:用#ifconfig eth0 down 先把網卡禁用,否則會報告系統忙,無法更改;然後再用ifconfig eth0 hw ether 020202020202 即可。
如果你想永久修改系統中的MAC地址,可以這樣操作:在/etc/rc.d/rc.local中加入以下三行(也可在/etc/init.d/network中添加以下三行)
ifconfig eth0 down
ifconfig eth0 hw ether 020202020202
ifconfig eth0 up
四、MAC地址改好了嗎?
如果你想知道系統中的MAC地址是否修改成功了,可以這樣操作:重啟電腦,在命令提示字元下,輸入IPconfig/all命令,於是Physical Address右邊就會顯示一個地址,你檢查一下即可得知MAC是否修改成功了。