Как изменить MAC-адрес в Linux
Задумывались ли вы, как изменить MAC-адрес сетевой карты в Linux? Нет? Ничего страшного, здесь мы рассмотрим этот вопрос. Но подождите, зачем нам это вообще надо? Для конфиденциальности! Если вы не хотите показывать настоящий MAC-идентификатор при подключении к общедоступной точке доступа WiFi, вы можете просто изменить его и войти с другим MAC-адресом. Иногда необходимо, когда сетевой администратор блокирует определенный MAC-адрес в маршрутизаторе или брандмауэре. В таких случаях вы можете использовать этот метод для изменения идентификатора MAC. Изменение MAC-адреса также называется подменой MAC-адреса или поддельным MAC-адресом. В этой статье мы рассмотрим, как изменить MAC-адрес в Linux.
Все манипуляции проводились на серверных версиях Ubuntu 16.04 LTS и CentOS 7. Давайте начнем.
Определение MAC-адреса в Linux
Во-первых, давайте выясним MAC-адрес или аппаратный адрес сетевой карты в Linux.
enp0s3 Link encap:Ethernet HWaddr 08:xx:xx:xx:xx:x1
enp0s3: 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
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.
Чтобы установить Macchanger в Arch Linux и его производных, запустите:
$ sudo yum install macchanger
$ sudo dnf install macchanger
$ sudo apt-get install macchanger
Укажите, должен ли Macchanger быть настроен на автоматический запуск при каждом включении или выключении сетевого устройства. Это дает новый MAC-адрес всякий раз, когда вы подключаете кабель Ethernet или включенный Wi-Fi. Я рекомендую вам не запускать автоматически, если вам действительно не нужно каждый раз менять MAC-идентификатор.
Использование
Чтобы назначить любой случайный MAC-адрес, выполните:
Чтобы узнать имя сетевого интерфейса, запустите:
1: lo: 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: 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, выполните:
После изменения MAC-адреса проверьте его с помощью команды:
Теперь вы увидите, что MAC был изменен.
Чтобы изменить MAC-адрес на конкретное значение, укажите любой пользовательский MAC-адрес с помощью команды:
# macchanger --mac=XX:XX:XX:XX:XX:XX enp0s3
где XX:XX:XX:XX:XX:XX — это новый MAC-идентификатор, на который вы хотите изменить свой.
Наконец, чтобы вернуть MAC-адрес к его первоначальному постоянному аппаратному значению, выполните следующую команду:
Тем не менее, вам не обязательно это делать. После перезагрузки системы изменения будут автоматически потеряны, а физический MAC-адрес будет восстановлен.
Для более подробной информации, обратитесь к man-страницам:
Способ 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-адрес с помощью команды:
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-адресу? Просто перезагрузите вашу систему. Надеюсь вам это пригодится.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
Изменение MAC-адреса в Linux
Прежде чем изменить существующий МАК, следует узнать его текущее значение. Как и большинство других системных операций, рассматриваемая выполняется посредством терминала.
- Запустить требуемое приложение можно несколькими способами. Первый – откройте перечень установленного софта нажатием на соответствующую кнопку в левом нижнем углу, затем выберите пункт «Утилиты» – «Терминал». Второй и более предпочтительный – воспользоваться сочетанием клавиш, по умолчанию это Alt+Ctrl+T.
- После вызова терминала введите в нём следующую команду: ip link show Это отобразит адреса всех сетевых адаптеров, распознанных операционной системой. Нужные значения представляют собой последовательность после строки link/show, а в начале находится конкретный идентификатор того или иного адаптера.
Альтернативный метод просмотра MAC-адреса – использование пакета сетевых инструментов. Последние сперва потребуется установить путем ввода в терминале следующей команды: sudo apt install net-tools
При первом применении с аргументом sudo нужно ввести пароль от учётной записи. Далее, когда нужные пакеты будут загружены и установлены, введите следующее: ifconfig | grep ether
Здесь обратите внимание на значения после последовательности ether – это и есть искомое.
Этап 2: Изменение MAC-адреса
Дальше у нас есть несколько вариантов решения рассматриваемой задачи: использовать ip link, уже инсталлированные на предыдущем этапе net-tools или воспользоваться загружаемой утилитой macchanger.
Вариант 1: ip link
Для смены MAC с помощью этих средств потребуется выполнить следующие действия:
- Для начала понадобится отмонтировать рассматриваемое устройство следующей командой (вместо *интерфейс* впишите название нужного сетевого адаптера, полученного на предыдущем этапе): sudo ip link set dev *интерфейс* down
Вариант 2: ifconfig
Данное средство является частью пакета net-tools и уже достаточно давно не используется в дистрибутивах Linux как инструмент управления сетями, однако с его помощью также можно решить рассматриваемую задачу.
- По умолчанию ifconfig отсутствует в стандартном пакете программ, поэтому его потребуется доустановить, если этого не было сделано на шаге 4 предыдущего этапа.
- Как и в случае с утилитой ip link, сперва потребуется отключить используемое устройство командой: sudo ifconfig *интерфейс* down Замените *интерфейс* именем требуемого сетевого устройства.
- Теперь предстоит ввод операторов замены адреса – сама последовательность выглядит так: sudo ifconfig *интерфейс* hw ether *XX:XX:XX:XX:XX:XX* Не забудьте заменить вставки на идентификатор адаптера и новый MAC соответственно.
- После применения команды заново активируем отсоединённый сетевой интерфейс, прописав в консоли следующее: sudo ifconfig *интерфейс* up
Вариант 3: macchanger
Последним способом решения рассматриваемой задачи будет очередная консольная программа, именуемая macchanger.
- Приложение не является частью ядра или оболочки, поэтому его нужно устанавливать отдельно. Вызовите терминал и введите в нём следующую команду: sudo apt-get install macchanger Префикс sudo потребует ввода пароля учётной записи.
- В процессе инсталляции появится информационное сообщение с запросом на автоматическую смену MAC при каждом подключении сетевого кабеля или активации Wi-Fi. Выберите желаемый вариант с помощью стрелок и нажмите Enter.
- Теперь нужно получить имя устройства, аппаратный идентификатор которого мы будем изменять, воспользовавшись для этого следующей командой: ip addr Ознакомьтесь с перечнем – как правило, обычно имеются два устройства, одно из которых отвечает за соединение по кабелю, второе – за коннектор Wi-Fi. Ориентируйтесь на вид названия – имена беспроводных адаптеров начинаются с букв wl, кабельных – с e либо enp.
- Для присвоения случайного MAC в терминале следует ввести следующее: macchanger -r *интерфейс* Вместо *интерфейс* напечатайте значение, полученное на шаге 2. Если вы получили ошибку, это значит, что команду нужно вводить с префиксом sudo .
- Установка определённой последовательности выглядит похожим образом: macchanger —mac=*XX:XX:XX:XX:XX:XX* *интерфейс* Как и в предыдущем случае, вместо вставок со звёздочками впишите идентификатор сетевого адаптера и желаемое значение МАК. Замечание о необходимости sudo для этой команды также справедливо.
- С помощью macchanger можно восстановить и заводской идентификатор – просто напишите такую команду: macchanger -p enp0s8
Linux и Android
Если вы не хотите показывать настоящие MAC-адреса, когда вы подключены к общедоступной точке доступа WiFi, вы можете просто изменить его или заменить другим MAC-адресом. Иногда администратор сети может заблокировать определенный MAC-адрес в маршрутизаторе или брандмауэре. В таких случаях вы можете использовать этот метод для изменения идентификатора MAC. Изменение MAC-адреса также называется подменой MAC-адреса или поддельным MAC-адресом. В этом кратком руководстве мы узнаем, как изменить MAC-адрес в Linux.
Я проверил это руководство на серверах CentOS 7 и Ubuntu 18.04 LTS. Все работало хорошо, как описано ниже. Давайте начнем.
enp0s3 Link encap:Ethernet HWaddr 08:xx:xx:xx:xx:x1
enp0s3: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
ether 24:xx:xx:xx:xx:x9 txqueuelen 1000 (Ethernet) ether c0:xx:xx:xx:xx:xf txqueuelen 1000 (Ethernet)
Вы можете использовать любую из приведенных выше команд, чтобы узнать MAC-адрес сетевой карты. Эти команды должны работать практически во всех дистрибутивах Linux.
Мы можем сделать это двумя способами. Пожалуйста, помните, что вы не должны делать это на действующей сетевой карте, которая используется в настоящее время. Если вы сделаете это, возможно, ваше сетевое соединение будет разорвано. Попробуйте этот метод с дополнительной картой.
Macchanger — это простая утилита для просмотра, изменения и управления MAC-адресами для сетевых карт. Он доступен практически во всех операционных системах GNU/Linux.
$ sudo yum install macchanger
$ sudo dnf install macchanger
$ sudo apt-get install macchanger
Укажите, должен ли Macchanger быть настроен на автоматический запуск при каждом включении или выключении сетевого устройства. Это даст вам новый MAC-адрес всякий раз, когда вы подключаете кабель Ethernet или включаете Wi-Fi.
Я рекомендую вам не запускать его автоматически, если вам не нужно каждый раз менять MAC-адрес. Итак, выберите No и нажмите клавишу ENTER, чтобы продолжить.
1: lo: 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: 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