Гид по технологиям

Как найти MAC-адрес в Linux

6 min read Linux Обновлено 12 Apr 2026
Как найти MAC‑адрес в Linux
Как найти MAC‑адрес в Linux

Что такое MAC-адрес

MAC-адрес (физический или аппаратный адрес) — уникальный идентификатор сетевого интерфейса. Он работает на канальном уровне (уровень 2 модели OSI) и обычно занимает 48 бит: первые 24 бита — идентификатор производителя, последние 24 бита — уникальный идентификатор устройства.

Определение: MAC-адрес — 48‑битная строка в формате шестнадцатеричных байт, например 01:23:45:67:89:ab.

Важно: некоторые виртуальные интерфейсы и современные драйверы могут поддерживать смену MAC (spoofing) или использовать рандомизацию для приватности.

Когда нужен MAC-адрес

  • Статическое сопоставление в DHCP (выдать фиксированный IP по MAC).
  • Фильтрация доступа на уровне коммутатора или точки доступа (white/blacklist).
  • Настройка Wake-on-LAN.
  • Диагностика сетевых проблем и определение устройств в локальной сети.

Командная строка: быстрые способы найти MAC-адрес

Ниже — команды, которые чаще всего используются. Запускайте их в терминале. Некоторые команды требуют привилегий root или установки пакетов.

Использование ip

Команда ip показывает интерфейсы и их параметры:

ip link show

В выводе для каждого интерфейса есть метка link/ether и рядом MAC‑адрес. Чтобы посмотреть конкретный интерфейс:

ip link show dev interface_name

Пример: ip link show dev ens33.

Просмотр MAC-адреса через команду ip

Использование ifconfig

ifconfig — классическая утилита из пакета net-tools. На современных системах может отсутствовать по умолчанию.

Показать все интерфейсы (включая выключенные):

ifconfig -a

Показать конкретный интерфейс:

ifconfig interface_name

В выводе MAC обычно рядом с меткой ether.

Просмотр MAC-адреса через ifconfig

Примечание: если ifconfig не установлен, установите пакет net-tools: sudo apt install net-tools или sudo yum install net-tools.

Использование ethtool

ethtool — утилита для управления драйверами сетевых адаптеров. Для получения MAC:

ethtool -P interface_name

Она выведет постоянный (permanent) MAC, если это поддерживается драйвером. Для установки ethtool: sudo apt install ethtool или sudo yum install ethtool.

Запрос MAC через ethtool

Чтение /sys/class/net

В каталоге /sys/class/net для каждого интерфейса есть файл address с MAC‑адресом.

Список интерфейсов:

ls /sys/class/net

Показать MAC конкретного интерфейса:

cat /sys/class/net/interface_name/address

Пример:

cat /sys/class/net/ens33/address

Этот способ работает без дополнительных утилит и полезен в скриптах.

Получение MAC из /sys/class/net

Графический интерфейс (GUI)

В популярных окружениях рабочего стола (например, GNOME) MAC‑адрес можно найти в настройках сети.

Шаги (пример для GNOME/Ubuntu):

  1. Откройте «Параметры» или «Settings».
  2. Перейдите в раздел «Сеть».
  3. Выберите нужный интерфейс и нажмите значок шестерёнки (Cog).
  4. В разделе деталей ищите «Hardware Address» или «Аппаратный адрес» — это и есть MAC.

MAC через GUI — окно настроек сети

Детали интерфейса с отображением Hardware Address

Примечание: в других DE (KDE, XFCE, MATE) путь похож, но названия пунктов могут отличаться.

Найти MAC другого устройства в локальной сети

Если нужно узнать MAC удалённого хоста в той же подсети, используйте ARP или arping.

Использование arp

  1. Пропингуйте целевой IP, чтобы запись появилась в ARP-кеше:
ping -c1 
  1. Посмотреть ARP‑таблицу:
arp -n | grep 

Вывод покажет MAC‑адрес, связанный с IP.

Ограничение: arp показывает результаты только для устройств в локальной сети и только если ARP-запись актуальна.

Использование arping

arping отправляет ARP-запросы напрямую на канальном уровне и полезен, если нужно получить ответ немедленно.

Установка:

Debian/Ubuntu:

sudo apt install arping

RHEL/CentOS/Fedora:

sudo yum install arping

Примеры использования:

sudo arping -c 1 

Если у вас несколько интерфейсов, укажите интерфейс отправителя:

sudo arping -c 1 -I interface_name 

Пример:

sudo arping -c 1 -I ens33 192.168.42.133

В ответе будет MAC‑адрес удалённого хоста.

Поиск MAC через arping

Частые ситуации и советы

  • ifconfig отсутствует: установите пакет net-tools.
  • ethtool может показывать permanent MAC (жёсткий адрес) и current MAC (если адрес сменён программно).
  • Виртуальные интерфейсы (vmbr, veth, docker0) имеют собственные MAC‑адреса — учитывайте это при диагностике.
  • Wi‑Fi интерфейсы иногда используют рандомизацию MAC при сканировании для приватности — это не тот же MAC, который используется для подключения.
  • На некоторых ноутбуках/дистрибутивах есть UI‑опция «Randomize MAC» (Рандомизация MAC) — отключите её, если требуется постоянный MAC для DHCP.

Как изменить MAC-адрес (коротко)

Изменение MAC — полезно для тестов или обхода жестких фильтров. Делайте это только если понимаете риски и имеете право.

Пример смены (потребуются root‑права):

sudo ip link set dev interface_name down
sudo ip link set dev interface_name address 02:01:02:03:04:08
sudo ip link set dev interface_name up

Проверить:

ip link show dev interface_name

Важное: некоторые драйверы или аппаратные ограничения могут предотвращать смену MAC.

Плейбук: найти MAC и добавить статическую привязку в DHCP (шаблон)

  1. Определите интерфейс на клиенте: ip link show.
  2. Получите MAC: cat /sys/class/net/IF/address или ip link show dev IF.
  3. На DHCP-сервере добавьте запись вида (пример ISC DHCPD):
host client-name {
  hardware ethernet 01:23:45:67:89:ab;
  fixed-address 192.168.1.50;
}
  1. Перезапустите DHCP-сервер: sudo systemctl restart isc-dhcp-server.
  2. На клиенте освобождаете и запрашиваете адрес снова: sudo dhclient -r && sudo dhclient.

Критерии приёмки

  • Клиент получил IP, совпадающий с записью на DHCP.
  • ARP-параметры подтверждают соответствие MAC и IP.
  • Логи DHCP показывают успешную выдачу с нужным MAC.

Чек-листы по ролям

Администратор сети:

  • Проверить источник MAC (физический/виртуальный).
  • Убедиться, что MAC не рандомизируется.
  • Добавить статическую привязку в DHCP и документировать её.

Пользователь или домашний администратор:

  • Выполнить ip link show или открыть настройки сети.
  • Если используете Wi‑Fi, проверьте опции рандомизации в Network Manager.

Разработчик/DevOps:

  • В скриптах используйте /sys/class/net/IF/address.
  • Для контейнеров проверяйте veth и bridge‑интерфейсы.

Отладка и типичные ошибки

  • Нет записи в /sys/class/net: возможно модуль драйвера не загружен или интерфейс отключён.
  • Команда arp возвращает пусто: цель в другой подсети или ARP‑запись удалена.
  • arping не получает ответ: целевой хост недоступен или ICMP/ARP фильтруется.
  • MAC выглядит как ff:ff:ff:ff:ff:ff или 00:00:00:00:00:00 — это некорректно, проверьте драйвер и кабель.

Ментальные модели и подсказки

  • MAC — как «серийный номер» сетевой платы; IP — как «почтовый адрес» в сети.
  • Если проблема на локальном сегменте — используйте ARP/arping; если через роутер — MAC другого сегмента недоступен напрямую.
  • Всегда отличайте постоянный аппаратный MAC (permanent) от текущего (current), который может быть подменён.

Decision flowchart (Mermaid)

flowchart TD
  A[Нужно найти MAC?] --> B{Локальная машина или удалённая}
  B --> |Локальная| C[Использовать ip link или /sys/class/net]
  B --> |Удалённая в подсети| D[ping -> arp или arping]
  C --> E{Доступен GUI?}
  E --> |Да| F[Открыть настройки сети в DE]
  E --> |Нет| G[Использовать ip/ifconfig/ethtool]
  D --> H{Ответ от arping?}
  H --> |Да| I[Записать MAC]
  H --> |Нет| J[Проверить сетевое оборудование и маршрутизацию]

Факт-бокс

  • Формат MAC: 48 бит (обычно 6 байт) в виде 6 пар в hex, разделённых «:».
  • Уровень модели OSI: 2 (канальный).

1‑строчная глоссарий

  • MAC: аппаратный адрес интерфейса.
  • IP: логический адрес уровня 3.
  • ARP: протокол сопоставления IP → MAC в локальной сети.
  • ethtool: утилита для управления параметрами NIC.

Совместимость и примечания для локали

  • Команды одинаковы во всех дистрибутивах Linux, но пакеты (net-tools, ethtool, arping) могут требовать установки.
  • В российских/европейских сетях правила те же — обратите внимание на политики безопасности и журналы оборудования.

Краткое резюме

Найти MAC‑адрес в Linux просто: для локального интерфейса используйте ip link или /sys/class/net, для удалённых устройств — arp или arping. Помните о виртуальных интерфейсах, рандомизации MAC и о том, что смена MAC возможна не на всех устройствах. В статье приведён плейбук и чек-листы для быстрых действий.

Важно: перед изменением MAC убедитесь, что у вас есть права и понимание последствий для сети.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Звук в Godot: эффекты и фоновая музыка
Game Dev

Звук в Godot: эффекты и фоновая музыка

Отключение HDMI-CEC на PS5 — инструкция
Руководства

Отключение HDMI-CEC на PS5 — инструкция

Как добавить субтитры к фильмам и сериалам
Видео

Как добавить субтитры к фильмам и сериалам

Как выбрать TLD — руководство по верхнеуровневым доменам
Домены

Как выбрать TLD — руководство по верхнеуровневым доменам

Как фрилансеру выбирать выгодные проекты
Фриланс

Как фрилансеру выбирать выгодные проекты

Связать несколько аккаунтов Gmail и упорядочить почту
Почта

Связать несколько аккаунтов Gmail и упорядочить почту