Как изменить MAC-адрес в Linux
MAC-адрес (Media Access Control Address) — это один из физических идентификаторов, назначенных вашему контроллеру сетевого интерфейса. Каждое устройство имеет свой уникальный MAC-адрес, который задается при производстве, но его можно изменить с помощью нескольких инструментов.
Иногда вы хотите изменить этот mac (также известный как физический адрес) по разным причинам. Например, если вы подключены к Wi-Fi в аэропорту или на железной дороге, у них есть лимит на использование передачи данных. Когда ваше использование данных достигнет этого предела, вы можете столкнуться с низкой скоростью интернета. Чтобы избежать этого, вы можете подделать MAC-адрес вашей системы и заставить их поверить, что это другое устройство.
Еще один пример: вы используете чей-то Wi-Fi, а потом вдруг не можете подключиться к нему. Есть вероятность, что администратор заблокировал вас в своей сети по MAC-адресу.
Во всех этих случаях изменение вашего Mac-адреса может помочь вам избежать блокирование вашего устройства брандмауэром маршрутизатора и получить доступ к Интернету.
Давайте посмотрим, как мы можем изменить или подделать наш MAC-адрес, используя одни из самых простых и лучших бесплатных утилит наряду с iproute в операционной системе Linux.
Определим свой физический MAC-адрес.
Одним из предварительных шагов перед изменением mac-адреса является поиск имени сетевой карты (NIC) сетевого адаптера, для которого вы хотите изменить mac-адрес.
В выводе вышеприведенной команды перечислены все сетевые интерфейсы, подключенные к вашему ноутбуку или настольному компьютеру.
Изменение 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