如何在 Linux 系统中获取网络接口的 MAC 地址107
在 Linux 系统中,MAC 地址(媒体访问控制地址)是用于标识网络接口的唯一 48 位标识符。它由网络接口控制器(NIC)的制造商分配,并且在设备的整个生命周期中保持不变。获取 MAC 地址对于网络故障排除、网络安全以及确定网络中设备的身份非常有用。
有几种方法可以获取 Linux 系统中网络接口的 MAC 地址。最常用的方法是使用 ip 命令。
使用 ip 命令获取 MAC 地址
要使用 ip 命令获取网络接口的 MAC 地址,请执行以下步骤:1. 打开一个终端窗口。
2. 输入以下命令:
```bash
ip link show
```
这将列出系统中的所有网络接口及其详细信息,包括 MAC 地址。
输出类似于如下内容:```
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:9e:90:af brd ff:ff:ff:ff:ff:ff
```
在上面的输出中,eth0 是网络接口的名称,00:0c:29:9e:90:af 是该接口的 MAC 地址。
使用 ifconfig 命令获取 MAC 地址
ifconfig 命令也可以用来获取 Linux 系统中网络接口的 MAC 地址。
要使用 ifconfig 命令获取 MAC 地址,请执行以下步骤:1. 打开一个终端窗口。
2. 输入以下命令:
```bash
ifconfig
```
这将列出系统中的所有网络接口及其详细信息,包括 MAC 地址。
输出类似于如下内容:```
eth0: flags=4163 mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe9e:90af prefixlen 64 scopeid 0x20
ether 00:0c:29:9e:90:af txqueuelen 1000 (Ethernet)
RX packets 100310 bytes 143095793 (136.0 MiB)
RX errors 0 dropped 7 overruns 0 frame 0
TX packets 80407 bytes 51791375 (49.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
```
在上面的输出中,eth0 是网络接口的名称,00:0c:29:9e:90:af 是该接口的 MAC 地址。
使用 ethtool 命令获取 MAC 地址
ethtool 命令也可以用来获取 Linux 系统中网络接口的 MAC 地址。
要使用 ethtool 命令获取 MAC 地址,请执行以下步骤:1. 打开一个终端窗口。
2. 输入以下命令:
```bash
ethtool -P
```
其中 <interface name> 是您要获取其 MAC 地址的网络接口的名称。
这将打印网络接口的详细信息,包括 MAC 地址。
输出类似于如下内容:```
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: yes
Perm Address: 00:0c:29:9e:90:af
RX:
packets: 100310
bytes: 143095793
errors: 0
dropped: 7
overruns: 0
frame: 0
compressed: 0
multicast: 0
broadcast: 11230
rx-csum: 100303 (good)
TX:
packets: 80407
bytes: 51791375
errors: 0
dropped: 0
overruns: 0
carrier: 0
collisions: 0
tx-csum: 80407 (good)
```
在上面的输出中,00:0c:29:9e:90:af 是网络接口的 MAC 地址。
2024-11-02