MAC 地址通常存储在网卡上的某种 EEPROM 中。该地址在初始化期间由网络适配器驱动程序读取,并由 MAC 层在组装/发送网络数据包时使用。
使用的 MAC 地址可以通过“hw”选项使用“ifconfig”在命令行上更改:
hw class address
Set the hardware address of this interface, if the device driver
supports this operation. The keyword must be followed by the
name of the hardware class and the printable ASCII equivalent of
the hardware address. Hardware classes currently supported
include ether (Ethernet), ax25 (AMPR AX.25), ARCnet and netrom
(AMPR NET/ROM).
ifconfig 本质上使用 SIOCSIFHWADDR ioctl(参见http://linux.die.net/man/7/netdevice)来设置 MAC 地址。
在某些情况下,甚至可以更改存储在网络适配器本身上的 MAC 地址,请参阅http://linux.die.net/man/8/ethtool - 但我不建议这样做。