服务器MAC地址如何命令行查看?

在Windows系统使用ipconfig /all命令,在Linux或Unix系统使用ip addrifconfig命令,即可在命令行中查看服务器网卡的MAC地址(物理地址)。

在网络管理和服务器维护中,获取服务器的MAC地址(Media Access Control Address) 是一项基础且重要的任务,MAC地址是网络接口卡(NIC)的唯一硬件标识符,对于网络配置、安全策略制定、设备识别以及故障排查都至关重要,本文将详细介绍在Windows ServerLinux服务器两大主流操作系统上,如何通过命令行高效、准确地查看服务器的MAC地址。

服务器MAC地址如何命令行查看?

为什么需要命令行?

  • 高效直接: 命令行(CLI)是服务器管理的核心工具,无需图形界面(GUI),尤其适用于远程管理(如SSH、远程桌面)或无头服务器(Headless Server)。
  • 自动化脚本: 命令行输出易于集成到脚本中,实现批量查询或自动化任务。
  • 通用可靠: 无论服务器处于何种状态(只要命令行可用),该方法都有效。

重要提示:

  1. 权限要求: 执行这些命令通常需要管理员或root权限。
  2. 多网卡情况: 服务器通常有多个网络接口(物理网卡、虚拟网卡、管理口iLO/iDRAC/IPMI等),命令会列出所有接口的MAC地址,请根据接口描述(如名称、连接状态)识别目标网卡。
  3. 物理地址: MAC地址通常显示为 Physical Address (Windows) 或 ether (Linux) 字段。

在 Windows Server 上查看 MAC 地址

Windows Server 提供了强大的命令行工具 ipconfig 和更现代的 Get-NetAdapter (PowerShell)。

方法 1:使用 ipconfig 命令 (CMD)

  1. 打开命令提示符:

    • 按下 Win + R 键,输入 cmd,然后按 Enter
    • 或者,在开始菜单搜索 “cmd” 或 “命令提示符”,右键选择“以管理员身份运行”(推荐,避免权限问题)。
  2. 执行命令: 在打开的命令提示符窗口中,输入以下命令并按 Enter

    ipconfig /all
  3. 查找 MAC 地址:

    • 命令会输出所有网络适配器的详细信息。

    • 向下滚动,找到你关心的物理网络适配器(通常名称如 “Ethernet adapter Ethernet”, “Ethernet adapter 以太网” 等,注意区分虚拟适配器如 VMware, Hyper-V)。

    • 在该适配器的信息块中,查找 物理地址Physical Address 这一行,后面跟着的 XX-XX-XX-XX-XX-XX(6组两位十六进制数,通常用连字符 分隔)就是该网卡的MAC地址。

    • 示例输出片段:

      Ethernet adapter Ethernet 0:
          Connection-specific DNS Suffix  . :
          Description . . . . . . . . . . . : Intel(R) Ethernet Connection I217-LM
          Physical Address. . . . . . . . . : 00-1A-4B-XX-XX-XX  <-- 这就是MAC地址
          DHCP Enabled. . . . . . . . . . . : Yes
          Autoconfiguration Enabled . . . . : Yes
          Link-local IPv6 Address . . . . . : fe80::c1d3:4a1f:XXXX:XXXX%12(Preferred)
          IPv4 Address. . . . . . . . . . . : 192.168.1.100(Preferred)
          Subnet Mask . . . . . . . . . . . : 255.255.255.0
          ...

方法 2:使用 Get-NetAdapter 命令 (PowerShell – 更现代推荐)

服务器MAC地址如何命令行查看?

PowerShell 提供了更强大、面向对象的网络管理命令。

  1. 打开 PowerShell:

    • 按下 Win + R 键,输入 powershell,然后按 Enter
    • 或者,在开始菜单搜索 “PowerShell”,右键选择“以管理员身份运行”(推荐)。
  2. 执行命令: 在打开的 PowerShell 窗口中,输入以下命令并按 Enter

    Get-NetAdapter | Format-List Name, InterfaceDescription, MacAddress, Status, LinkSpeed
    • 命令解释:
      • Get-NetAdapter: 获取所有网络适配器的基本信息。
      • | Format-List ...: 将输出格式化为列表,并仅显示指定的属性(名称、描述、MAC地址、状态、连接速度),你可以根据需要增减属性。
  3. 查找 MAC 地址:

    • 输出会清晰地列出每个适配器的关键信息。

    • 直接查看 MacAddress 字段即可,MAC地址通常显示为 XX-XX-XX-XX-XX-XX 格式。

    • 示例输出片段:

      Name                : Ethernet0
      InterfaceDescription : Intel(R) Ethernet Connection I217-LM
      MacAddress          : 00-1A-4B-XX-XX-XX  <-- 这就是MAC地址
      Status              : Up
      LinkSpeed           : 1 Gbps
      Name                : vEthernet (Default Switch)
      InterfaceDescription : Hyper-V Virtual Ethernet Adapter #2
      MacAddress          : 00-15-5D-XX-XX-XX
      Status              : Up
      LinkSpeed           : 10 Gbps
    • 这个命令输出更简洁、信息更结构化,更容易找到所需信息。


在 Linux 服务器上查看 MAC 地址

Linux 提供了多种强大的命令行工具来查看网络信息,最常用的是 ipifconfig(较老系统,部分新发行版可能默认不安装)。

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

ip 命令 (iproute2 包) 是现代 Linux 发行版管理网络的首选工具,功能强大且持续更新。

  1. 打开终端: 通过 SSH 登录服务器或直接在服务器控制台打开终端。
  2. 执行命令 (通常需要 root/sudo):
    ip link show

    或者,为了更聚焦于状态和信息(包括MAC):

    服务器MAC地址如何命令行查看?

    ip -c -br link show
    • 命令解释:
      • ip link show: 显示所有网络链接(接口)的状态和信息。
      • -c: 彩色输出(更容易区分)。
      • -br: 以简洁的表格格式输出。
  3. 查找 MAC 地址:
    • 在输出中,找到你关心的物理接口(名称通常如 eth0, enp0s3, ens192, bond0 等,注意 lo 是本地环回接口)。
    • ip link show 输出示例:
      1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
          link/ether 00:1a:4b:xx:xx:xx brd ff:ff:ff:ff:ff:ff  <-- `link/ether` 后面就是MAC地址
    • ip -c -br link show 输出示例 (更简洁):
      lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
      eth0             UP             00:1a:4b:xx:xx:xx <BROADCAST,MULTICAST,UP,LOWER_UP>

      在简洁模式下,第三列 (00:1a:4b:xx:xx:xx) MAC 地址。

    • MAC 地址格式通常是 XX:XX:XX:XX:XX:XX(6组两位十六进制数,用冒号 分隔)。

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

ifconfig (net-tools 包) 是传统的网络配置工具,虽然仍在广泛使用,但许多现代最小化安装的 Linux 发行版可能默认不包含它,如果需要,通常可以通过包管理器安装(如 sudo apt install net-tools for Debian/Ubuntu, sudo yum install net-tools for RHEL/CentOS)。

  1. 打开终端。
  2. 执行命令:
    ifconfig -a

    -a 参数确保显示所有接口,包括未激活的。

  3. 查找 MAC 地址:
    • 在输出中,找到目标物理接口(如 eth0, enp0s3)。
    • 在该接口的信息块中,查找 etherHWaddr 这一行(不同版本可能不同),后面跟着的 XX:XX:XX:XX:XX:XX MAC 地址。
    • 示例输出片段:
      eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
              inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
              inet6 fe80::c1d3:4a1f:XXXX:XXXX  prefixlen 64  scopeid 0x20<link>
              ether 00:1a:4b:xx:xx:xx  txqueuelen 1000  (Ethernet)  <-- `ether` 后面是MAC地址
              RX packets 123456  bytes 987654321 (987.6 MB)
              RX errors 0  dropped 0  overruns 0  frame 0
              TX packets 654321  bytes 123456789 (123.4 MB)
              TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

方法 3:查看 /sys 文件系统 (底层信息)

Linux 将所有设备信息暴露在 /sys 文件系统中,MAC 地址可以直接从对应网络接口的文件中读取。

  1. 确定接口名称: 使用 ip link showls /sys/class/net 查看所有接口名称。
  2. 查看 MAC 地址文件: 使用 cat 命令查看对应接口的 address 文件:
    cat /sys/class/net/eth0/address

    eth0 替换为你的实际接口名。

  3. 输出: 命令会直接输出该接口的 MAC 地址,格式为 XX:XX:XX:XX:XX:XX
    00:1a:4b:xx:xx:xx

    这种方法非常直接,特别适合在脚本中使用。


总结与关键要点

  • Windows Server:
    • 首选:PowerShell – Get-NetAdapter | fl Name, MacAddress, InterfaceDescription, Status (信息清晰结构化)。
    • 经典:CMD – ipconfig /all (查找目标适配器的 物理地址/Physical Address)。
  • Linux Server:
    • 首选:ip link showip -c -br link show (查找目标接口的 link/ether 或简洁输出第三列)。
    • 传统:ifconfig -a (查找目标接口的 etherHWaddr 行)。
    • 脚本友好:cat /sys/class/net/<接口名>/address (直接读取文件)。
  • 通用注意事项:
    • 权限: 确保使用管理员 (Windows) 或 root/sudo (Linux) 权限执行命令。
    • 识别接口: 服务器可能有多个接口(物理、虚拟、管理口),仔细核对接口名称和描述。
    • MAC 格式: Windows 常用 分隔 (XX-XX-XX-XX-XX-XX),Linux 常用 分隔 (XX:XX:XX:XX:XX:XX),本质相同。
    • 唯一性: MAC 地址是网卡硬件级别的唯一标识(尽管虚拟化和某些技术可能改变或模拟它)。
    • 用途: 用于网络配置(静态IP绑定)、交换机端口安全、设备识别、网络访问控制列表(ACL)、故障诊断等。

掌握这些命令行方法,将使你能够快速、准确地在任何 Windows 或 Linux 服务器上获取所需的 MAC 地址信息,这是服务器和网络管理员必备的基础技能。


引用与参考说明

  • 本文所述命令基于 Windows Server 2012 R2 / 2016 / 2019 / 2022 和主流 Linux 发行版(如 RHEL/CentOS 7+, Ubuntu 18.04+, Debian 10+)的通用实践。
  • ipconfig 命令文档: Microsoft Windows Command-Line Documentation.
  • Get-NetAdapter Cmdlet 文档: Microsoft PowerShell NetAdapter Module Documentation.
  • ip 命令手册页 (man ip): Linux iproute2 package documentation.
  • ifconfig 命令手册页 (man ifconfig): Linux net-tools package documentation (if installed).
  • Linux /sys/class/net/ 文件系统: Linux Kernel Documentation (sysfs).

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

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月9日 12:14
下一篇 2025年6月9日 12:20

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN