Поиск по сайту:

Как изменить MAC-адрес в Linux

Возможно, вы не захотите раскрывать настоящий MAC-адрес при подключении к общедоступной точке доступа Wi-Fi. В таких ситуациях вы можете просто изменить его или подделать, указав другой MAC-адрес. Иногда сетевой администратор мог заблокировать определенный MAC-адрес на маршрутизаторе или брандмауэре. В таких случаях вы можете использовать этот метод для изменения идентификатора MAC. Изменение MAC-адреса также называется подделкой MAC-адреса или подделкой MAC-адреса. В этом кратком руководстве мы увидим, как изменить MAC-адрес в Linux.

Я тестировал это руководство на серверных версиях CentOS 7 и Ubuntu 18.04 LTS. Это сработало хорошо, как описано ниже. Давайте начнем.

Найти MAC-адрес в Linux

Сначала давайте выясним MAC-адрес или аппаратный адрес сетевой карты в Linux.

ifconfig | grep HWaddr

Пример вывода:

enp0s3    Link encap:Ethernet  HWaddr 08:xx:xx:xx:xx:x1

Или,

ip link show
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff

Или

ifconfig | grep ether

Пример вывода:

ether 24:xx:xx:xx:xx:x9 txqueuelen 1000 (Ethernet)
ether c0:xx:xx:xx:xx:xf txqueuelen 1000 (Ethernet)

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

Теперь давайте посмотрим, как изменить MAC-адрес.

Изменить MAC-адрес в Linux

Мы можем сделать это двумя способами. Помните, что не следует делать это на работающей сетевой карте, которая используется в данный момент. Если вы это сделаете, возможно, ваше сетевое соединение будет разорвано. Попробуйте этот метод с дополнительной картой.

Способ 1: использование Macchanger

Macchanger — это простая утилита для просмотра, изменения и управления MAC-адресами ваших сетевых карт. Он доступен практически во всех операционных системах GNU/Linux.

В Arch Linux:

Чтобы установить Macchanger в Arch Linux и его производных, запустите:

sudo pacman -S macchanger

В Fedora, CentOS, RHEL:

sudo yum install macchanger

Или

sudo dnf install macchanger

В Debian/Ubuntu:

Для macchanger в Debian, Ubuntu и их производных выполните:

sudo apt-get install macchanger

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

Я рекомендую вам не запускать его автоматически, если только вам действительно не нужно каждый раз менять MAC-идентификатор. Итак, выберите Нет и нажмите клавишу ВВОД, чтобы продолжить.

Макчейнджер установлен.

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

Чтобы назначить любой случайный MAC-адрес, запустите:

macchanger -r <interface-name>

Чтобы узнать имя сетевого интерфейса, запустите:

ip addr

Пример вывода:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 inet 127.0.0.1/8 scope host lo
 valid_lft forever preferred_lft forever
 inet6 ::1/128 scope host 
 valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.105/24 brd 192.168.1.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 fe80::a00:27ff:fe12:f8c1/64 scope link 
 valid_lft forever preferred_lft forever

Как вы видите на скриншоте выше, enp0s3 — это имя моей сетевой карты.

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

sudo macchanger -r enp0s3

После изменения идентификатора MAC проверьте его с помощью команды:

ip addr

Пример вывода:

Теперь вы увидите, что MAC был подделан.

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

macchanger --mac=XX:XX:XX:XX:XX:XX 

Где XX:XX:XX:XX:XX:XX — это новый идентификатор MAC, на который вы хотите изменить.

Наконец, чтобы вернуть MAC-адресу его исходное постоянное аппаратное значение, выполните следующую команду:

macchanger -p enp0s3

Однако вам не обязательно этого делать. После перезагрузки системы изменения будут автоматически потеряны, и фактический MAC-адрес будет восстановлен снова.

Для получения более подробной информации проверьте страницы руководства:

man macchanger

Способ 2: использование iproute2

Сначала отключите сетевую карту командой:

sudo ip link set dev enp0s3 down

Далее установите новый MAC с помощью команды:

sudo ip link set dev enp0s3 address XX:XX:XX:XX:XX:XX

Наконец, включите его снова командой:

sudo ip link set dev enp0s3 up

Теперь проверьте новый MAC-идентификатор с помощью команды:

ip link show enp0s3

Пример вывода:

link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff

Альтернативно вы можете сделать это с помощью команды 'ifconfig', как описано ниже.

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 00:80:48:BA:d1:30
sudo ifconfig eth0 up
ifconfig eth0 | grep HWaddr

Вот и все.

Рекомендуем прочитать:

  • Назначение нескольких IP-адресов одной сетевой карте в Linux

Как видите, оба метода довольно просты. Выбирайте любой, который подойдет именно вам. Чтобы вернуться к исходному MAC-адресу, просто перезагрузите систему.

Надеюсь это поможет. Если вы знаете какой-либо другой способ изменить MAC-адрес, поделитесь им в комментарии ниже.

Статьи по данной тематике