Если вы администрируете систему 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:
IP-ссылка показывать
Эта команда показывает сведения обо всех сетевых интерфейсах, включая их MAC-адреса, помимо метки. ссылка/эфир как показано ниже:
Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис:
IP-ссылка показывать разработчик
Использование команды ifconfig
Команда ifconfig в Linux позволяет настраивать и отображать состояние сетевых интерфейсов. Кроме того, он также может активировать и деактивировать сетевой интерфейс.
Чтобы узнать MAC-адреса всех доступных сетевых интерфейсов (даже если они деактивированы), используйте команду ifconfig с параметром -а флаг следующим образом:
ifconfig -a
Чтобы узнать MAC-адрес конкретного сетевого интерфейса, укажите его имя в качестве аргумента:
ifconfig имя_интерфейса
Чтобы узнать MAC-адреса всех активных в данный момент сетевых интерфейсов, используйте команду ifconfig без каких-либо флагов:
ifconfig
В выводе вы можете найти MAC-адрес вашего интерфейса рядом с меткой эфир как показано ниже:
ethtool — это утилита Linux, которая позволяет запрашивать и настраивать сетевые драйверы и параметры сетевой карты. С помощью утилиты ethtool вы также можете запросить у сетевого интерфейса его MAC-адрес.
Вот команда для этого:
ethtool -P имя_интерфейса
Получить MAC-адрес из каталога /sys/class/net
/sys/class/net Каталог содержит информацию о сетевых устройствах, подключенных к системе. Этот каталог поддерживает отдельный подкаталог для каждого из сетевых интерфейсов, таких как /sys/class/net/ens33 и /sys/класс/сеть /ens37.
Каждый подкаталог содержит разные файлы для каждого сетевого атрибута, такого как MAC-адрес, рабочее состояние сетевого устройства, его дуплекс, MTU и т. д. Информация о MAC-адресе хранится в адрес файл.
Чтобы получить список сетевых интерфейсов, подключенных к вашей системе, используйте следующую команду:
лс /система/сорт/сеть
Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис команды:
кошка /система/сорт/сеть/имя_интерфейса/адрес
Например, чтобы найти MAC-адрес сетевого интерфейса, скажем, ens33, команда будет такой:
кошка /система/сорт/сеть/ens33/адрес
Как найти MAC-адрес в Linux через графический интерфейс
Те, кто предпочитает графический интерфейс для своих повседневных задач, могут найти свой MAC-адрес графически, используя сетевой менеджер, поставляемый с их дистрибутивом. Как и в Ubuntu, вы можете использовать настройки сетевых подключений.
Открыть Настройки в вашем дистрибутиве Linux, либо щелкнув правой кнопкой мыши на рабочем столе, либо из меню приложений. С левой панели перейдите к Сеть вкладка Это отобразит все сетевые интерфейсы, подключенные к вашей системе.
Чтобы узнать MAC-адрес сетевого интерфейса, нажмите кнопку шестеренка (настройки) перед ним.
Откроется новое окно с подробной информацией о вашем сетевом интерфейсе. Здесь вы найдете MAC-адрес рядом с этикеткой Аппаратный адрес.
В этом руководстве мы использовали GNOME для изображений, но другие среды рабочего стола также будут иметь аналогичные настройки, только с другими метками.
Найдите MAC-адрес другой системы в локальной сети
Подобно вашему собственному MAC-адресу, вы также можете найти MAC-адреса других систем в локальной сети. Вот как:
Использование команды арп
Вы можете использовать ARP или протокол разрешения адресов, чтобы узнать MAC-адрес для данного IP-адреса. Чтобы найти MAC-адрес другой системы в локальной сети, пропингуйте ее IP-адрес с помощью:
пинг -c1 <IPадрес>
Команда ping будет использовать ARP для получения MAC-адреса удаленной системы. Получив эту информацию, она сохраняется в таблице ARP, которую вы можете просмотреть, используя:
арп -н | grep <IPадрес>
Эта команда напечатает MAC-адрес для данного IP-адреса.
Утилита arping помогает обнаруживать и проверять локальные системы в сети. Он функционирует на втором уровне модели OSI и отправляет запрос ARP в систему, чтобы определить, активен ли он и отвечает ли он. Она отличается от утилиты ping, которая работает на третьем уровне.
Вы можете установить arping, используя следующие команды:
В дистрибутивах на основе Debian:
Судо подходит установить арпинг
В дистрибутивах на основе RHEL:
судо ням установить арпинг
После установки найдите MAC-адрес другой системы в сети, указав ее IP-адрес в качестве аргумента с помощью следующей команды:
судо арпинг -c 1 <IPадрес>
Если в вашей системе несколько сетевых карт, вы можете указать, с какого интерфейса следует отправлять запрос, используя -Я флаг (заглавная "i"), за которым следует имя интерфейса:
sudo arping -c 1 -I имя_интерфейса <IPадрес>
Например, следующая команда отправит один запрос ARP со своего ens33 интерфейс к IP-адресу удаленной системы 192.168.42.133.
судоарпинг-с 1 -Яens33 192.168.42.133
На выходе вы получите ответ ARP от целевой системы, содержащий ее MAC-адрес.
Легко найти свой MAC-адрес в Linux
Учитывая различные методы поиска MAC-адреса в Linux, вы можете выбрать любой удобный для вас.
Как и в Linux, вы также можете найти MAC-адрес в Windows и macOS; однако у них разные наборы команд и графический интерфейс.