How to Find Your MAC address in Ubuntu and Other Linux Distros
When you are learning networking or troubleshooting it, you would need to know the MAC address.
A computer can have more than one MAC address. It is because the MAC address is a core part of networking, and each networking peripheral device has its own MAC address.
So, your WiFi card has a MAC address, and so does the Ethernet (LAN) port. Even the Bluetooth has one.
The MAC address, also known as the physical address, is a 12-digit hexadecimal code (48-bits) and is represented as MM:MM:MM:SS:SS:SS
In this tutorial, I’ll share the steps for finding the MAC address of your desired networking interface in Linux. I’ll show both command line and GUI methods.
Method 1: Find MAC address using command line
There are serveral Linux networking commands that can be used to get the MAC address of the WiFi or LAN cards.
Open up your terminal and use the following command, and it will bring the address of the present network cards in your system:
And you’ll be met with the following output:
Generally, the wireless device names will be wlan0, wlan1, wlan2, wlo0, wlo1, and wlo2, whereas the Ethernet (wired device) will probably have eth0, eth1, eno0, eno1,enpls0, or enpls1.
You can find the MAC address of each device at the last line of the device description, followed by link/ether and it’s 52:54:00:5c:92:bf in my case.
Get the MAC address of Bluetooth
As I mentioned earlier, all networking devices have a physical address. If you want to see the MAC address of your Bluetooth adapter, you can use this command:
You can see it beside the BD Address field.
You can also use the bluetoothctl command here.
Method 2: Get MAC address using GUI
If you’re afraid of using the terminal you can use the network settings to get the MAC address details.
I am using Ubuntu with the GNOME desktop environment. If you use some other desktop environments, the screenshots may not look the same.
First, search for settings in the system menu and open the first result.
Now, for the left menu bar, select Network and click on the little gear icon located near to wired network toggle. Even if you’re not connected to a wired network, you can still follow the same approach.
If you’re on Wi-Fi, there will be an option for Wi-Fi in the left menu bar. From there, you have to follow the same approach (clicking on the gear icon) to get your MAC address.
Once you click on the gear icon, you’ll be met with details of the selected network interface. Here, the MAC address is given as the Hardware address.
Here you have it in the easiest way possible!
Final Words
Did you know that the first half of hexadecimal code (24 bits) is used to represent the manufacturer of your network adapter?
Finding a MAC address in Linux is quite easy as you have seen it here. On the same note, you may like to learn about changing the MAC address in Linux.
How to Find Network MAC Address in Linux System
The term MAC Address is a derived abbreviation for Media Access Control Address. The network interface controller (NIC) uses the MAC address as its assigned unique identifier within an existing network segment.
To practically relate to or understand what a MAC address is, think of it as the postal or physical address to a house. The house in this case is the network interface controller (NIC).
There is a key difference between MAC address and IP address and therefore we should not confuse the two. MAC address identifies the device you are using since it is imprinted on the device hardware whereas IP address identifies the connection status among devices seeking to communicate on an existing/configured network.
The MAC address of any device is represented by a 12-digit hexadecimal number. Its display includes a colon or hyphen after every two MAC address digits for easy readability.
For instance, a MAC address can be represented in the following manner.
Approaches to Finding MAC Address in Linux
Depending on the number of network interfaces on your Linux machine like Wi-Fi built-in and Ethernet port, your computer can be associated with more than one MAC Address.
1. Find Linux System Mac Address Using IP Command
The ip command is part of the iproute2 package and can be used to display both the MAC address and IP address of your Linux-powered machine using either of the following commands.
Find Linux System MAC Address
Depending on the network adapter or interface present, we can see the availed MAC addresses. In the above screen capture, three distinct MAC addresses can be identified from the ip address command.
Another useful command is the ip link which only focuses on the MAC address and does not display the IP addresses.
Show Linux System MAC Address
2. Find Linux System Mac Address Using Ifconfig Command
The ifconfig command is another effective approach to identifying the MAC address of your Linux machine. We however need to install it first since it is a member of the net-tools package and not installed on Linux by default.
Once installed, run the ifconfig command to find the IP address and MAC address of your Linux system.
Check Linux System MAC Address
Different network interfaces or adapters showcase different MAC addresses as highlighted in the above screen capture.
We have successfully defined and understood how to get the MAC address(es) on our Linux machines.
Как узнать MAC-адрес в Linux
В те времена, когда только проектировался Ethernet, предусматривалось применение уникального номера каждой сетевой карте, подключённой к нему. Назначался он при изготовлении платы. MAC-адрес используется для определения получателя и отправителя информации в Сети. И в этой статье речь пойдёт о том, как узнать MAC адрес в Linux.
Практически во всех операционных системах на основе ядра Linux используется две консольные утилиты, с помощью которых можно узнать аппаратный адрес карты: ifconfig и ip. Различные графические приложения этого типа используют их данные.
Как узнать MAC-адрес с помощью ifconfig
Одной из первых сетевых программ в истории Linux является ifconfig. В некоторых дистрибутивах она запускается только от имени администратора, а где-то вообще не установлена. Рассмотрим её инсталляцию и использование в Manjaro Linux.
Пакет, содержащий в себе некоторые сетевые утилиты (в том числе и ifconfig), в Manjaro- и Arch-подобных системах называется net-tools. Установим его.
sudo pacman -S net-tools
А в Ubuntu- и Debian-подобных системах:
sudo apt install net-tools
Чтобы узнать MAC-адрес Linux, сначала смотрим список интерфейсов:
Доступных интерфейсов два: enp0s7 (в вашем случае он может называться по другому) и lo (он же локальный хост, который одинаков практически для всех компьютеров). Нам нужен enp0s7.
MAC-адрес устройства виден уже сейчас в поле ether, но чтобы отобразить только его, воспользуемся такой командой:
ifconfig -a | grep ether | gawk ‘
Здесь grep принимает на вход то, что вывела команда ifconfig -a, находит строку, где есть ether, и передаёт на вход команде gawk, которая выбирает второе слово в принятой строке.
Как посмотреть MAC-адрес с помощью ip
Более новой в системах GNU/Linux (относительно ifconfig) является программа ip. Её принцип работы практически такой же. Отличается синтаксисом и выводимой информацией. И она установлена по умолчанию для всех систем. Для отображения сетевых интерфейсов нужно ввести команду:
Здесь lo и enp0s7 расположены в обратном порядке.
Чтобы узнать MAC адрес сетевой карты Linux, вводим ту же самую конструкцию, только для этой команды:
ip a | grep ether | gawk ‘
Выводы
За то, как узнать MAC адрес в Linux, отвечают две консольные утилиты — ifconfig и ip. Первая может запускаться от имени администратора в некоторых дистрибутивах (например в Debian), а где-то вообще не быть установленной (Manjaro). Это связано с её отходом на второй план, поскольку ip является более новой программой и устанавливается по умолчанию во всех системах.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как узнать MAC-адрес в Linux
Если вы администрируете систему Linux, обязательно будут моменты, когда вам нужно будет знать MAC-адрес вашей системы. Эта информация может понадобиться по нескольким причинам. Возможно, вы хотите, чтобы DHCP назначил вам фиксированный IP-адрес. Для этого вам понадобится MAC-адрес, чтобы вы могли добавить сопоставление IP-адреса и MAC-адреса в конфигурации вашего DHCP-сервера.
Вам также может понадобиться эта информация для фильтрации MAC-адресов, чтобы разрешить или заблокировать определенные устройства в вашей сети. Или, может быть, вы хотите настроить Wake-on-LAN. Какой бы ни была причина, вот несколько различных способов найти MAC-адрес в вашей системе Linux.
Что такое MAC-адрес?
MAC-адрес, также известный как физический или аппаратный адрес, представляет собой уникальный идентификатор, связанный с сетевой интерфейсной картой почти каждого устройства, подключенного к сети.
MAC-адрес функционирует на втором уровне (уровень канала передачи данных) модели OSI и имеет длину 48 бит, где первые 24 бита представляют собой идентификатор производителя, а последние 24 бита представляют собой уникальный идентификатор для этой сетевой карты. Как и в случае с IP-адресами, вы можете изменить MAC-адрес вашей сетевой карты.
Найдите MAC-адрес в Linux в командной строке
Вот несколько самых быстрых и простых способов найти свой MAC-адрес в Linux:
Использование команды ip
Вы можете использовать команду ip в Linux для просмотра и настройки физических и виртуальных сетевых интерфейсов, маршрутизации, политик маршрутизации и туннелей. Он может добавлять или удалять сетевой интерфейс, назначать/удалять IP-адреса, отображать состояние сетевых интерфейсов и выполнять гораздо больше полезных задач.
Вы можете узнать MAC-адрес вашей системы с помощью следующей команды ip:
Эта команда показывает сведения обо всех сетевых интерфейсах, включая их MAC-адреса, помимо метки link/ether, как показано ниже:
Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис:
Использование команды ifconfig
Команда ifconfig в Linux позволяет настраивать и отображать состояние сетевых интерфейсов. Кроме того, он также может активировать и деактивировать сетевой интерфейс.
Чтобы узнать MAC-адреса всех доступных сетевых интерфейсов (даже если они деактивированы), используйте команду ifconfig с флагом -a следующим образом:
Чтобы узнать MAC-адрес конкретного сетевого интерфейса, укажите его имя в качестве аргумента:
Чтобы узнать MAC-адреса всех активных в данный момент сетевых интерфейсов, используйте команду ifconfig без каких-либо флагов:
В выходных данных вы можете найти MAC-адрес вашего интерфейса рядом с меткой ether, как показано ниже:
Использование утилиты ethtool
ethtool — это утилита Linux, которая позволяет запрашивать и настраивать сетевые драйверы и параметры сетевой карты. С помощью утилиты ethtool вы также можете запросить у сетевого интерфейса его MAC-адрес.
Вот команда для этого:
Получить MAC-адрес из каталога /sys/class/net
Каталог /sys/class/net содержит информацию о сетевых устройствах, подключенных к системе. В этом каталоге есть отдельный подкаталог для каждого из сетевых интерфейсов, например /sys/class/net/ens33 и /sys/class/net/ens37.
Каждый подкаталог содержит разные файлы для каждого сетевого атрибута, такого как MAC-адрес, рабочее состояние сетевого устройства, его дуплекс, MTU и т. д. Информация о MAC-адресе хранится в файле address.
Чтобы получить список сетевых интерфейсов, подключенных к вашей системе, используйте следующую команду:
Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис команды:
Например, чтобы найти MAC-адрес сетевого интерфейса, скажем, ens33, команда будет выглядеть так:
Как найти MAC-адрес используя графический интерфейс
Те, кто предпочитает графический интерфейс для своих повседневных задач, могут найти свой MAC-адрес графически, используя сетевой менеджер, поставляемый с их дистрибутивом. Как и в Ubuntu, вы можете использовать настройки сетевых подключений.
Откройте Настройки (Settings) в дистрибутиве Linux, щелкнув правой кнопкой мыши на рабочем столе или в меню приложений. На левой панели перейдите на вкладку Сеть (Network). Вы увидите все сетевые интерфейсы, подключенные к вашей системе.
Чтобы узнать MAC-адрес сетевого интерфейса, нажмите значок Cog (настройки) перед ним.
Откроется новое окно с подробной информацией о вашем сетевом интерфейсе. Здесь вы найдете MAC-адрес рядом с меткой Аппаратный адрес (Hardware Address).
В этом руководстве мы использовали GNOME для изображений, но другие среды рабочего стола также будут иметь аналогичные настройки, только с другими метками.
Найдите MAC-адрес другой системы в локальной сети
Подобно вашему собственному MAC-адресу, вы также можете найти MAC-адреса других систем в локальной сети. Вот как:
Использование команды arp
Вы можете использовать ARP (Address Resolution Protocol) или протокол разрешения адресов, чтобы узнать MAC-адрес для данного IP-адреса. Чтобы найти MAC-адрес другой системы в локальной сети, пропингуйте ее IP-адрес с помощью:
Команда ping будет использовать ARP для получения MAC-адреса удаленной системы. Получив эту информацию, она сохраняется в таблице ARP, которую вы можете просмотреть, используя:
Эта команда напечатает MAC-адрес для данного IP-адреса.
Использование утилиты arping
Утилита arping помогает обнаруживать и проверять локальные системы в сети. Он функционирует на втором уровне модели OSI и отправляет запрос ARP в систему, чтобы определить, активен ли он и отвечает ли он. Она отличается от утилиты ping, которая работает на третьем уровне.
Вы можете установить arping, используя следующие команды:
В дистрибутивах на основе Debian:
В дистрибутивах на основе RHEL:
После установки найдите MAC-адрес другой системы в сети, указав ее IP-адрес в качестве аргумента с помощью следующей команды:
Если в вашей системе несколько сетевых адаптеров, вы можете указать, с какого интерфейса должен быть отправлен запрос, используя флаг -I (заглавная «i»), за которым следует имя интерфейса:
Например, следующая команда отправит один запрос ARP со своего интерфейса ens33 на IP-адрес удаленной системы 192.168.42.133.
На выходе вы получите ответ ARP от целевой системы, содержащий ее MAC-адрес.
Легко найти свой MAC-адрес в Linux
Учитывая различные методы поиска MAC-адреса в Linux, вы можете выбрать любой удобный для вас.
Как и в Linux, вы также можете найти MAC-адрес в Windows и macOS; однако у них разные наборы команд и графический интерфейс.