駭客/工具/網路/更改MAC地址/Linux
在GNU/Linux下,可以透過以下步驟更改網路介面卡(NIC)的MAC地址。
注意:本文中使用的MAC地址僅供示例。請根據您的需求進行替換。
注意:為了使命令生效,以下命令必須以root許可權執行(例如,在命令前新增“sudo”)。
/etc/init.d/networking stopifconfig eth0 hw ether 02:01:02:03:04:08/etc/init.d/networking start
執行“ifconfig eth0”進行確認。
以上方法適用於Debian、Ubuntu和類似的發行版。或者,在RHEL/Fedora以及可能的其他GNU/Linux發行版(包括CentOS和Scientific Linux)中,要停用和重啟網路,必須停止和啟動/etc/init.d/network,而不是/etc/init.d/networking。
如果您安裝了iproute2實用程式,您可能更喜歡使用“ip”命令,如下所示
/etc/init.d/network stopip link set eth0 address 02:01:02:03:04:08/etc/init.d/network start
要確認您的設定,您可能更喜歡執行“ip link ls eth0”或“ip addr ls eth0”,而不是“ifconfig eth0”。
注意:如果您使用DSL調變解調器,則可能無法執行此操作(取決於調變解調器供應商或ISP)。
在openSUSE和其他基於SUSE的系統(SUSE企業桌面\伺服器等)中,您可以透過在/etc/sysconfig/network/ifcfg-ethN檔案中新增相應的條目來使更改在重啟後“永久生效”(對於第一個乙太網介面配置檔案,ifcfg-eth0,對於第二個,ifcfg-eth1,依此類推)。
LLADDR=12:34:56:78:90:ab
在Red Hat Enterprise Linux(RHEL)和其他類似的系統(Fedora、CentOS等)中,一種使更改在重啟後“永久生效”的簡單方法是,在/etc/sysconfig/network-scripts/ifcfg-ethN檔案中新增相應的條目(對於第一個乙太網介面配置檔案,ifcfg-eth0,對於第二個,ifcfg-eth1,依此類推)。
MACADDR=12:34:56:78:90:ab
注意:在檔案中有一個值HWADDR - 這與MACADDR不是一回事。要進行永久更改,請使用MACADDR。
來自 http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html
HWADDR“指令對於具有多個NIC的機器很有用,可以確保無論每個NIC模組的配置載入順序如何,介面都分配了正確的裝置名稱。此指令不應與MACADDR一起使用。”...MACADDR“指令用於將MAC地址分配給介面,覆蓋分配給物理NIC的MAC地址。此指令不應與HWADDR一起使用。”
指定MAC地址時,接受大寫和小寫字母,因為網路功能會將所有字母轉換為大寫。
您可以透過執行以下命令來測試更改,而無需重啟系統
service network restart
(警告:執行此操作將斷開所有現有的網路連線!)
在Debian、Ubuntu和類似的系統上,將以下內容放在/etc/network/interfaces的相應部分(在iface語句內,例如,閘道器行之後),以便在網路裝置啟動時設定MAC地址
hwaddress ether 02:01:02:03:04:08
在Gentoo上,您可以透過為每個乙太網卡在全域性配置檔案/etc/conf.d/net中新增一個條目來獲得相同的結果。eth0裝置的示例
mac_eth0="12:34:56:78:90:ab"
您還可以使用工具“GNU MACChanger”在GNU/Linux下更改MAC地址。
要在啟動時使用MACChanger更改MAC地址,請將以下行新增到您的/etc/network/interfaces(eth0介面的示例)
pre-up macchanger -m 12:34:56:78:90:AB eth0