如何查看所有网卡名称?

在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

相关推荐

  • Linux下Abaqus如何正确启动?详细步骤有哪些?

    在Linux操作系统下启动Abaqus(现为SIMULIA by Dassault Systèmes)需要结合环境配置、命令操作及特定场景需求,以下是详细启动流程及注意事项,涵盖图形界面、命令行、脚本自动化及集群环境等多种方式,启动前的环境准备Abaqus在Linux下的正常运行依赖于正确的环境配置,需确保以下……

    2025年9月25日
    6300
  • Linux下如何配置Qt开发环境?

    环境准备安装基础依赖sudo apt updatesudo apt install build-essential libgl1-mesa-dev # Ubuntu/Debian# 或sudo dnf groupinstall "Development Tools" # Fedora/Cen……

    2025年7月29日
    8600
  • 如何将本地文件移入虚拟机Linux系统?

    在虚拟化环境中,将本地文件传输到Linux虚拟机是日常开发、运维或学习中的常见需求,根据虚拟机软件类型(如VMware、VirtualBox)、文件大小及使用场景(图形界面/命令行),可选择不同的传输方法,本文将详细介绍几种主流操作方式,涵盖准备工作、具体步骤及注意事项,帮助用户高效完成文件传输,使用共享文件夹……

    2025年8月29日
    7900
  • Linux中如何终止正在运行的代码?

    在Linux系统中,终止运行中的代码(即进程)是日常管理和运维中的常见操作,无论是由于进程卡死、资源占用过高,还是任务执行错误,都需要通过合适的方式终止进程以释放系统资源,Linux提供了多种终止进程的方法,涵盖命令行工具、信号机制、进程管理工具等,本文将详细介绍这些方法的使用场景、操作步骤及注意事项,基础终止……

    2025年10月7日
    6200
  • Linux系统如何用命令合并磁盘分区?详细操作步骤是什么?

    在Linux系统中,合并分区通常用于调整磁盘空间分配,解决分区碎片化或扩展某个分区容量的问题,但合并分区存在数据丢失风险,操作前务必备份重要数据,以下是详细的合并分区步骤及命令说明,涵盖不同场景和工具使用方法,合并分区前的准备工作数据备份使用rsync或tar命令备份分区数据,rsync -av /path/t……

    2025年10月5日
    7800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信