Как узнать 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:

ip link <span class="hljs-keyword">show</span>

Эта команда показывает сведения обо всех сетевых интерфейсах, включая их MAC-адреса, помимо метки link/ether, как показано ниже:

Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис:

ip link <span class="hljs-keyword">show</span> dev

Использование команды ifconfig

Команда ifconfig в Linux позволяет настраивать и отображать состояние сетевых интерфейсов. Кроме того, он также может активировать и деактивировать сетевой интерфейс.

Чтобы узнать MAC-адреса всех доступных сетевых интерфейсов (даже если они деактивированы), используйте команду ifconfig с флагом -a следующим образом:

ifconfig -a

Чтобы узнать MAC-адрес конкретного сетевого интерфейса, укажите его имя в качестве аргумента:

ifconfig interface_name

Чтобы узнать MAC-адреса всех активных в данный момент сетевых интерфейсов, используйте команду ifconfig без каких-либо флагов:

ifconfig

В выходных данных вы можете найти MAC-адрес вашего интерфейса рядом с меткой ether, как показано ниже:

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

ethtool — это утилита Linux, которая позволяет запрашивать и настраивать сетевые драйверы и параметры сетевой карты. С помощью утилиты ethtool вы также можете запросить у сетевого интерфейса его MAC-адрес.

Вот команда для этого:

ethtool -P interface_name

Получить MAC-адрес из каталога /sys/class/net

Каталог /sys/class/net содержит информацию о сетевых устройствах, подключенных к системе. В этом каталоге есть отдельный подкаталог для каждого из сетевых интерфейсов, например /sys/class/net/ens33 и /sys/class/net/ens37.

Каждый подкаталог содержит разные файлы для каждого сетевого атрибута, такого как MAC-адрес, рабочее состояние сетевого устройства, его дуплекс, MTU и т. д. Информация о MAC-адресе хранится в файле address.

Чтобы получить список сетевых интерфейсов, подключенных к вашей системе, используйте следующую команду:

ls /sys/<span class="hljs-class"><span class="hljs-keyword">class</span>/<span class="hljs-title">net</span></span>

Чтобы найти MAC-адрес определенного сетевого интерфейса, используйте следующий синтаксис команды:

cat /sys/<span class="hljs-class"><span class="hljs-keyword">class</span>/<span class="hljs-title">net</span>/<span class="hljs-title">interface_name</span>/<span class="hljs-title">address</span></span>

Например, чтобы найти MAC-адрес сетевого интерфейса, скажем, ens33, команда будет выглядеть так:

cat /sys/<span class="hljs-class"><span class="hljs-keyword">class</span>/<span class="hljs-title">net</span>/<span class="hljs-title">ens33</span>/<span class="hljs-title">address</span></span>

Как найти 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 -c1 <span class="hljs-tag"><<span class="hljs-name">IP</span> <span class="hljs-attr">address</span>></span>

Команда ping будет использовать ARP для получения MAC-адреса удаленной системы. Получив эту информацию, она сохраняется в таблице ARP, которую вы можете просмотреть, используя:

arp -n | grep <span class="hljs-tag"><<span class="hljs-name">IP</span> <span class="hljs-attr">address</span>></span>

Эта команда напечатает MAC-адрес для данного IP-адреса.

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

Утилита arping помогает обнаруживать и проверять локальные системы в сети. Он функционирует на втором уровне модели OSI и отправляет запрос ARP в систему, чтобы определить, активен ли он и отвечает ли он. Она отличается от утилиты ping, которая работает на третьем уровне.

Вы можете установить arping, используя следующие команды:

В дистрибутивах на основе Debian:

sudo apt <span class="hljs-keyword">install</span> arping

В дистрибутивах на основе RHEL:

sudo yum <span class="hljs-keyword">install</span> arping

После установки найдите MAC-адрес другой системы в сети, указав ее IP-адрес в качестве аргумента с помощью следующей команды:

sudo arping -c 1 <span class="hljs-tag"><<span class="hljs-name">IP</span> <span class="hljs-attr">address</span>></span>

Если в вашей системе несколько сетевых адаптеров, вы можете указать, с какого интерфейса должен быть отправлен запрос, используя флаг -I (заглавная «i»), за которым следует имя интерфейса:

sudo arping -c 1 -I interface_name <span class="hljs-tag"><<span class="hljs-name">IP</span> <span class="hljs-attr">address</span>></span>

Например, следующая команда отправит один запрос ARP со своего интерфейса ens33 на IP-адрес удаленной системы 192.168.42.133.

<span class="hljs-selector-tag">sudo</span> <span class="hljs-selector-tag">arping</span> <span class="hljs-selector-tag">-c</span> 1 <span class="hljs-selector-tag">-I</span> <span class="hljs-selector-tag">ens33</span> 192<span class="hljs-selector-class">.168</span><span class="hljs-selector-class">.42</span><span class="hljs-selector-class">.133</span>

На выходе вы получите ответ ARP от целевой системы, содержащий ее MAC-адрес.

Легко найти свой MAC-адрес в Linux

Учитывая различные методы поиска MAC-адреса в Linux, вы можете выбрать любой удобный для вас.

Как и в Linux, вы также можете найти MAC-адрес в Windows и macOS; однако у них разные наборы команд и графический интерфейс.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x