Как изменить 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-адрес, поделитесь им в комментарии ниже.