如何修改 mac地址的方法
2020-10-28 20:24:09
供稿:網友
各個不同品牌的網卡有專用的刷新程序,需要針對芯片型號下載相應的刷新程序
輕松修改網卡MAC地址
網卡的MAC地址是固化在網卡EPROM中的物理地址,是一塊網卡的“身份證”,通常為48位。在平常的應用中,有很多方面與MAC地址相關,如有些軟件是和MAC地址綁定的,沒有允許的MAC地址,軟件就無法運行;或者在局域網里,管理人員常常將IP與客戶機的MAC地址綁定,以方便管理,萬一用戶的網卡壞掉了,自行更改網卡后必須向管理人員申請更改綁定的MAC地址,這樣就比較麻煩。在這種時候,如果我們能夠更改一下網卡的MAC地址,那就方便多了。實際上,修改網卡的MAC地址是很容易的,我們既可以在操作系統中通過軟件來修改網卡的MAC地址,而實際的網卡MAC地址不變,以達到欺騙軟件的目的;也可以用工具直接更改網卡的實際MAC地址。
一、瞞天過海
1.修改注冊表
幾乎所有的網卡驅動程序都可以被NdisReadNetworkAddress參數調用,以便從注冊表中讀取一個用戶指定的MAC地址。當驅動程序確定這個MAC地址是有效的,就會將這個MAC地址編程到硬件寄存器中,而忽略網卡固有的MAC地址。我們通過手工修改Windows的注冊表就可以達到目的。
在Winodws 98下運行Windows的注冊表編輯器,展開“HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net”,會看到類似“0000”、“0001”、“0002”的子鍵。從“0000”子鍵開始點擊,依次查找子鍵下的“DriverDesc”鍵的內容,直到找到與我們查找的目標完全相同的網卡注冊表信息為止。
當找到正確的網卡后,點擊下拉式菜單“編輯/新建/字符串”,串的名稱為“Networkaddress”,在新建的“Networkaddress”串名稱上雙擊鼠標就可以輸入數值了。輸入你想指定的新的MAC地址值。新的MAC地址應該是一個12位的十六進制數字或字母,其間沒有“-”,類似“000000000000”的這樣的數值(注意,在Windows 98和Windows 2000/XP中具體鍵值的位置稍有不同,可通過查找功能來尋找)。
在“NetworkAddress”下繼續添加一個名為 “ParamDesc”的字串值,它將作為“NetworkAddress”項的描述,數值可以取為“MAC Address”。再把它的內容修改為你想設定的內容。如圖所示。這樣,我們就成功地修改了網卡的MAC地址,重新啟動計算機即可。
2.修改網卡屬性
大部分的網卡都可以通過在控制面板中修改網卡屬性來更改其MAC地址,在“設備管理器中”,右鍵點擊需要修改MAC地址的網卡圖標,并選擇“屬性/高級”選項卡。在“屬性”區,就可以看到一個稱作“Network Address”或其他相類似名字的的項目,點擊它,在右側“值”的下方,輸入要指定的MAC地址值。要連續輸入12個十六進制數字或字母,不要在其間輸入“-”。重新啟動系統后設置就會生效了。
二、釜底抽薪
假如用戶使用的是RealTek公司的RTL8139A/B/C/D系列芯片的網卡,有一種更簡單的方法修改MAC地址。RealTek公司設計的PG8139軟件可以直接修改RTL8139系列網卡的MAC地址,甚至可以讓每次啟動后網卡的MAC地址都不相同。具體操作如下:
把pg8139.zip解壓縮到一個文件夾下,以8139C芯片為例,用記事本打開該目錄下的8139c.cfg文件,修改8139c.cfg文件的第一行,將“NodeID”(網卡號)后改為所需要的新值,建議初始值為“00 E0 4C 00 00 01”,修改時注意每兩位之間至少要留一個空格。
保存后再進入MS-DOS方式(注意,要在純DOS模式下),在DOS提示符后輸入“pg8139 /pci 8139c.cfg”后再按回車鍵,此時系統如果提示“Programming EEPROM is successful”則說明更改成功。PG8139程序每成功運行一次,在相應的8139c.cfg文件中,系統會自動將“NodeID”的值加1,也就是說,第一次運行時給當前工作站網卡分配的MAC地址為“00 E0 4C 00 00 01”,第二次運行時,系統會自動分配為“00 E0 4C 00 00 02”,第三次運行時,會自動為“00 E0 4C 00 00 03”……,依此類推,就可以批量地修改網卡的MAC地址,不再需要重復修改8139c.cfg文件了。
如果用戶的網卡是RTL8139其他版本的芯片,只要找到相應的.cfg文件修改就行了。
另外,還有一種極端的辦法,通過燒錄網卡的EEPROM來達到克隆MAC地址的目的。但這樣做風險很大,而且操作復雜,即使是有經驗的用戶也難免在操作中出現錯誤,不推薦進行這種操作。
三、巧借東風
如果是Windows 2000/XP的用戶,則可以使用免費MAC地址修改軟件SMAC。運行SMAC后,窗口中的列表框列出計算機上正處于工作狀態的網卡。選定要修改的網卡后,在列表框下方的六個輸入框中輸入新的MAC地址后,點擊右側的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。
修改MAC地址的工具有很多,但大多數都只適用于Windows 2000/XP,推薦用“超級兔子魔法設置”,因為不但簡單易用,而且在Windows 9x系統中使用同樣有效。
修改完成后,要使設置生效,一般的辦法是重新啟動系統。還有一種簡單的辦法不需要重新啟動系統,在“設備管理器”中,選定網絡適配器圖標,點擊鼠標右鍵,選擇“禁用”(請注意操作后,狀態欄是否已顯示為“禁用”)。然后再右鍵單擊選定的網絡適配器,在右鍵菜單中選擇“啟用”。這樣就能使修改后的設置生效。
linux環境下:
需要用
#ifconfig eth0 down
先把網卡禁用
再用ifconfig eth0 hw ether 1234567890ab 這樣就可以改成功了
要想永久改就這樣
在/etc/rc.d/rc.local里加上這三句(也可以在/etc/init.d/network里加下面三行)
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab
ifconfig eth0 up
另:
在win2000中改MAC地址的方法:
打開注冊表編輯器,找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/{4D36E972-E325-11CE-BFC1-08002BE10318}子鍵,在該子鍵下的0000,0001,0002等分支中查找DriverDesc,在0000子鍵下天一個字符串項,命名為NetworkAddress,鍵值設為修改后的MAC地址,要求為連續的12個16進制數,如1234567890AB。然后在0000下的NDI/params中加一項名為NetworkAddress的子鍵,在該子鍵下添加名為default的字符串,鍵值為修改后的MAC地址,與上面的數值相同。在NetworkAddress的主鍵下繼續添加命名為ParamDesc的字符串,其作用是制定NetworkAddress主鍵的描述,其值可為“MAC 地址”,這樣以后打開網絡屬性,雙擊相應的網卡會發現有一個高級設置,其下坐在“MAC地址”的選項,在此修改MAC地址就可以了,修改后需重啟。
Windows環境:用dos,8139的可以改,用realtek的pg8139.exe,比如 是8139c網卡,就改寫8139c.cfg文件,第一行就是網卡mac,想怎么改就怎么改