Как изменить 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-адресу? Просто перезагрузите вашу систему. Надеюсь вам это пригодится.