駭客/工具/網路/更改 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 enterprise desktop\server** 等)中,您可以透過在 /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 的地址。此指令不應與 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