如何查看所有网卡名称?

在Linux系统中,查询网卡的MAC地址(物理地址)是网络配置和故障排查的常见需求,MAC地址是网卡的唯一硬件标识符,由12位十六进制数表示(如 00:1A:2B:3C:4D:5E),常用于网络权限控制、设备识别或DHCP绑定,以下是多种专业、可靠且经过验证的查询方法,适用于所有主流Linux发行版(Ubuntu、CentOS、Debian等)。


方法1:使用 ip link 命令(推荐)

步骤:

  1. 打开终端(快捷键 Ctrl+Alt+T)。
  2. 输入命令:
    ip link show
  3. 在输出中:
    • 找到你的网卡名称(如 eth0enp0s3wlan0)。
    • 在对应网卡信息的第二行,link/ether 后的一串字符即为MAC地址(如 00:0c:29:8f:1a:2b)。

示例输出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:8f:1a:2b brd ff:ff:ff:ff:ff:ff

优势:
ip 命令是现代Linux网络配置的标准工具,取代了旧版 ifconfig,支持所有新内核系统,输出简洁准确。


方法2:使用 ifconfig 命令(传统方式)

步骤:

  1. 终端输入:
    ifconfig -a
  2. 在网卡信息中查找 ether 字段(旧版本可能显示 HWaddr)。

注意:
部分新系统需安装 net-tools 包(通过 sudo apt install net-toolssudo yum install net-tools 启用)。


方法3:通过系统文件直接读取

MAC地址信息存储在系统文件中,无需依赖外部命令:

cat /sys/class/net/网卡名/address

操作示例:

# 再读取指定网卡的MAC地址(如 eth0)
cat /sys/class/net/eth0/address

输出:
00:0c:29:8f:1a:2b

适用场景:
脚本自动化或无网络工具的最小化系统。


方法4:使用 ethtool(查询物理网卡信息)

适用于需要验证网卡硬件属性的场景:

sudo ethtool -P 网卡名

示例:

sudo ethtool -P eth0

输出:
Permanent address: 00:0c:29:8f:1a:2b

注意:
需安装 ethtool 包(sudo apt install ethtool)。


方法5:通过 dmesg 日志(排查历史记录)

查看内核启动时记录的网卡信息:

dmesg | grep -i mac

输出示例:
[ 2.304455] e1000 0000:00:03.0 eth0: (MAC: 00:0c:29:8f:1a:2b)


安全提示

  • 保护MAC地址:避免公开泄露,防止被用于网络欺骗。
  • 临时修改:可通过 sudo ip link set dev eth0 address 00:11:22:33:44:55 临时修改(重启失效),用于网络测试。

总结建议

场景 推荐方法
快速查看当前MAC地址 ip link show
脚本调用 读取 /sys/class/net/ 文件
验证硬件永久地址 ethtool -P
旧版系统兼容 ifconfig -a

引用说明基于 Linux 内核文档(kernel.org)及以下命令的 man 手册页(通过 man ipman ifconfig 可查看):

  • ip 命令来自 iproute2 工具集(官方仓库)
  • ifconfig 来自 net-tools 项目(开源地址)
  • 系统文件路径参考 Linux 内核 ABI 文档(/sys/class/net/

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5115.html

(0)
酷番叔酷番叔
上一篇 2025年6月20日 12:24
下一篇 2025年6月20日 12:32

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信