linux中如何查看mac地址呢?

欣喜 Java每日一问 发布时间:2025-04-02 11:01:00 阅读数:18338 1
下文笔者讲述linux中查看mac地址的方法及示例分享,如下所示
查看mac地址的实现思路:
   -`ifconfig`:
        简单易用,但可能需要安装。
   -`ip`:
        推荐使用,功能强大且现代。
   -`ethtool`:
        用于查询和控制网络驱动程序,
		  可以查看永久MAC地址
   -`cat /sys/class/net/eth0/address`:
        直接读取系统文件,
		 简单快速
   -`lshw`:
        详细列出硬件配置,
		 适合需要全面信息的场景
   -`nmcli`:
        NetworkManager命令行工具
		  适合管理网络连接
   -`macchanger`:
       用于查看和更改MAC地址,
	    适合需要更改 MAC 地址的场景 

1.使用`ifconfig`命令

`ifconfig`是一个常用的网络配置工具
   可显示网络接口的详细信息
   包括 MAC 地址。

 安装 `ifconfig`
     在某些较新Linux发行版中
	   `ifconfig`可能默认未安装
	   你可以通过以下命令安装:
- Debian/Ubuntu:
  sudo apt-get update
  sudo apt-get install net-tools
  
- CentOS/RHEL: 
  sudo yum install net-tools
  
- Fedora: 
  sudo dnf install net-tools
 
 查看MAC地址
   ifconfig 

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::20c:29ff:fe9c:1234  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:9c:12:34  txqueuelen 1000  (Ethernet)
        RX packets 123456  bytes 123456789 (117.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 654321  bytes 654321098 (624.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1234  bytes 123456 (120.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1234  bytes 123456 (120.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

	说明:
	-`ether 00:0c:29:9c:12:34`表示`eth0`接口MAC地址

2.使用`ip`命令

`ip`命令是现代 Linux 系统中推荐使用的网络配置工具
功能更强大且更灵活

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 fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:9c:12:34 brd ff:ff:ff:ff:ff:ff

- `link/ether 00:0c:29:9c:12:34` 表示 `eth0` 接口的 MAC 地址。

3.使用`ethtool`命令

`ethtool`是一个用于查询和控制网络驱动程序和硬件设置的工具
也可以用来查看 MAC 地址。

 安装 `ethtool`

在某些 Linux 发行版中,`ethtool` 可能默认未安装。你可以通过以下命令安装:

- Debian/Ubuntu:
  sudo apt-get update
  sudo apt-get install ethtool

- CentOS/RHEL:
  sudo yum install ethtool

- Fedora:
  sudo dnf install ethtool

 查看 MAC 地址
sudo ethtool -P eth0

例
Permanent address: 00:0c:29:9c:12:34

说明:
- `Permanent address: 00:0c:29:9c:12:34` 表示 `eth0` 接口的永久 MAC 地址。

4.使用`cat`命令查看`/sys`文件系统

Linux 内核将硬件信息放入在 `/sys` 文件系统中
  可直接读取相关文件来获取MAC地址

 查看 MAC 地址
cat /sys/class/net/eth0/address 

00:0c:29:9c:12:34

5.使用`lshw`命令

`lshw` 是一个用于列出硬件配置的工具
  可详细显示网络接口的 MAC 地址。

 安装`lshw`

在某些 Linux 发行版中,`lshw` 可能默认未安装。你可以通过以下命令安装:

- Debian/Ubuntu: 
  sudo apt-get update
  sudo apt-get install lshw
  
- CentOS/RHEL: 
  sudo yum install lshw
   
- Fedora: 
  sudo dnf install lshw
  
 查看MAC地址
 sudo lshw -class network

====以上代码,将输出以下信息=====
  -network
       description: Ethernet interface
       product: 82540EM Gigabit Ethernet Controller
       vendor: Intel Corporation
       physical id: 3
       bus info: pci@0000:00:03.0
       logical name: eth0
       version: 02
       serial: 00:0c:29:9c:12:34
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm pcix msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=0.3.4-k duplex=full ip=192.168.1.100 latency=0 link=yes multicast=yes port=twisted Pair speed=1Gbit/s
       resources: irq:19 memory:f7df0000-f7dfffff memory:f7de0000-f7deffff ioport:1c00(size=64)
 
说明:
- `serial: 00:0c:29:9c:12:34` 表示 `eth0` 接口的 MAC 地址。

6.使用`nmcli`命令

`nmcli`是NetworkManager命令行工具
  可以用来管理网络连接并查看网络接口的详细信息。

 查看MAC地址
  nmcli device show eth0
  
  ======以上代码将输出以下信息======
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:9C:12:34
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Wired connection 1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.1.100/24
IP4.GATEWAY:                            192.168.1.1
IP4.ROUTE[1]:                           dst = 192.168.1.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.1.1, mt = 100
IP4.DNS[1]:                             192.168.1.1
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe9c:1234/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 1024
IP6.ROUTE[2]:                           dst = ::/0, nh = fe80::2, mt = 1024
IP6.DNS[1]:                             fe80::1
 
说明:
- `GENERAL.HWADDR: 00:0C:29:9C:12:34` 表示 `eth0` 接口的 MAC 地址。

7.使用`macchanger`工具

`macchanger`是一个用于查看和更改MAC地址的工具
也可以用来查看当前的 MAC 地址。

 安装 `macchanger`

在某些 Linux 发行版中,`macchanger` 可能默认未安装。你可以通过以下命令安装:

- Debian/Ubuntu:
   sudo apt-get update
  sudo apt-get install macchanger
  
- CentOS/RHEL:
   sudo yum install macchanger
   
- Fedora:
  sudo dnf install macchanger
   
 查看 MAC 地址
    sudo macchanger -s eth0
 
=====以上代码,将输出以下信息======
Current MAC:   00:0c:29:9c:12:34  (VMware, Inc.)
Permanent MAC: 00:0c:29:9c:12:34  (VMware, Inc.)
 
====代码说明======
- `Current MAC: 00:0c:29:9c:12:34` 指`eth0`接口当前 MAC 地址。
- `Permanent MAC: 00:0c:29:9c:12:34` 指`eth0` 接口永久 MAC 地址。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202504/8426.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者