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

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

Все манипуляции проводились на серверных версиях Ubuntu 16.04 LTS и CentOS 7. Давайте начнем.

Определение 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:

$ sudo apt-get install macchanger

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

Macchanger установлен.

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

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

# macchanger -r <имя сетевой карты>

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

# 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, выполните:

# macchanger -r enp0s3

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

# ip addr

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

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

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

# macchanger --mac=XX:XX:XX:XX:XX:XX enp0s3

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

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

# macchanger -p enp0s3

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

Для более подробной информации, обратитесь к man-страницам:

$ man macchanger

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

Сначала отключите сетевую карту с помощью команды:

# ip link set dev enp0s3 down

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

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

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

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

# 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, как приведено ниже.

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

Как видите, оба метода довольно просты. Применяйте любой метод, который вам понравится. А решите вернуться к исходному MAC-адресу? Просто перезагрузите вашу систему. Надеюсь вам это пригодится.

Источник