黑客/工具/网络/更改MAC地址/Linux
在GNU/Linux下,可以通过以下步骤更改网络接口卡(NIC)的MAC地址。
注意:本文中使用的MAC地址仅供示例。请根据您的需求进行替换。
注意:为了使命令生效,以下命令必须以root权限执行(例如,在命令前添加“sudo”)。
/etc/init.d/networking stop
ifconfig 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 stop
ip 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