我正在 bash 中编写一个脚本来检测所有接口并将其 MAC 随机更改为另一个接口。我需要知道在哪里可以找到接口的永久MAC。
如果我使用 ifconfig $interface,输出不是真正的 MAC...(与 cat /sys/class/net/$interface/address
相同)我发现的唯一方法是使用 cat /etc/udev/rules.d/70-persistent-net.rules,它显示原始的 mac,但是,如果我有一个处于监视模式的无线卡(例如 mon0 ),这个方法不行...:(
存在某种方法(如macchanger -s $interface),我可以在其中使用虚拟接口查看我的永久MAC??
注意:抱歉我的英语不好:S
要获取 smbios mac 地址,您可以使用 dmidecode。 dmidecode 转储 DMI 表内容,以便所有系统硬件组件、序列号和 BIOS 版本。
[root@server ~]# dmidecode | grep -i mac
MCE (Machine check exception)
MCA (Machine check architecture)
HP BIOS NIC PCI and MAC Information
NIC 1: PCI device 03:00.0, MAC address 1C:69:F5:4B:24:Y8
NIC 2: PCI device 03:00.1, MAC address 1C:69:F5:4B:24:Y8
HP BIOS iSCSI NIC PCI and MAC Information
对于最新版本的 MacOS,以下命令给出永久 mac 地址:
networksetup -listallhardwareports
对于特定接口运行:
networksetup -getmacaddress en0
在 MacOS Sonoma 14.6.1 上测试。