Як назавжди змінити свою MAC-адресу в Linux


Підсумок: ви можете встановити постійну нову MAC-адресу в терміналі за допомогою утиліти macchanger і файлу модуля systemctl. Або в GNOME перейдіть до Налаштування > Wi-Fi [або Мережа] > Ідентифікація та введіть спеціальну MAC-адресу.

Кожен мережевий інтерфейс має унікальну MAC-адресу, встановлену виробником. Це те, як мережеві підключення ідентифікують кінцеві точки з’єднання. У Linux ви можете назавжди змінити MAC-адресу, якщо хочете.

Що таке MAC-адреса?

MAC-адреса — це унікальний код, який використовується мережами для ідентифікації пристроїв як кінцевих точок підключення. Він відповідає на критичне питання «хто є хто» серед мережевих інтерфейсів.

Кожен елемент мережевого обладнання має принаймні один вбудований мережевий інтерфейс. У настільному комп’ютері або сервері може бути встановлено декілька мережевих карт. Багато ноутбуків постачаються з мережевим роз’ємом CAT5 і картою Wi-Fi, що дає вам два мережеві інтерфейси прямо з коробки.

Кожен мережевий інтерфейс має унікальний вбудований ідентифікатор. Незалежно від мережевого протоколу, який використовується для зв’язку з цим пристроєм, на найнижчому рівні з’єднання ідентифікується за його MAC-адресою керування доступом до медіа. Тому вони мають бути унікальними. Змусити мережевий інтерфейс використовувати іншу MAC-адресу називається спуфінгом.

MAC-адреса складається з шести шістнадцяткових чисел. Вони пишуться через двокрапку «:» або дефіс «-» між кожним із шести чисел. Ось MAC-адреса одного з наших тестових комп’ютерів.

b0:c0:90:58:b0:72

Найчастіше перші три числа є унікальним організаційним ідентифікатором, який представляє виробника апаратного забезпечення. Ви можете розшифрувати OUI за допомогою сторінки пошуку виробників Wireshark. Зауважте, що це може бути виробник материнської плати, мережевої карти чи карти Wi-Fi вашого комп’ютера. Виробники купують багато компонентів своїх комп’ютерів і збирають їх у готовий виріб, тому не дивуйтеся, якщо він відрізняється від виробника вашого комп’ютера.

Оскільки MAC-адреси є вбудованими, ви не можете змінити їх. Що ви можете зробити, так це налаштувати свою систему Linux так, щоб вона вдавала має іншу MAC-адресу. Що стосується будь-якого іншого пристрою в мережі, то MAC-адреса вашого комп’ютера є тією, яку він транслює, тому кінцевий результат такий самий.

Пошук вашої MAC-адреси

Щоб дізнатися свою поточну MAC-адресу, ви можете скористатися командою ip з об’єктом link. Тут буде показано ваші мережеві інтерфейси, незалежно від того, чи використовуються вони, чи відключено від мережі.

ip link

Цей комп’ютер є ноутбуком із активним з’єднанням Wi-Fi, wlan0, і дротовим з’єднанням Ethernet, enp3s0. Дротове з’єднання не під’єднано, тому воно неактивне. На ноутбуці також налаштовано петлеве підключення за умовчанням, lo.

Використовуйте macchanger, щоб змінити MAC-адресу Linux

Утиліта macchanger дозволяє змінювати MAC-адресу мережевого інтерфейсу за допомогою гнучких параметрів. Ви можете встановити певну MAC-адресу або використовувати довільну MAC-адресу. Ви також можете отримати нову MAC-адресу, яка використовує ті самі три байти OUI, що й ваше обладнання, щоб виробник мережевого інтерфейсу залишався тим самим.

Установка macchanger

Щоб установити macchanger на Ubuntu, скористайтеся цією командою:

sudo apt install macchanger

Щоб установити macchanger у Fedora, вам потрібно ввести:

sudo dnf install macchanger

На Manjaro команда така:

sudo pacman -S macchanger

Залежно від версії macchanger, яка знаходиться у сховищах вашого дистрибутива, ви можете побачити екран із запитом, чи бажаєте ви створювати нову MAC-адресу щоразу, коли мережеве з’єднання встановлюється онлайн. Тобто, коли ви підключаєте кабель Ethernet або вмикаєте Wi-Fi.

Використовуйте клавіші зі стрілками, щоб перемістити виділення до параметра, який ви бажаєте використовувати, і натисніть «Enter».

У цьому методі є певна зручність, але ми виберемо «Ні». Ми хочемо мати певний контроль над MAC-адресами, які використовуємо. Крім того, можливо, ви не захочете змінювати MAC-адресу кожного мережевого інтерфейсу, який має ваш комп’ютер. Можливо, ви хочете змінити його лише на картці Wi-Fi, наприклад.

Використання macchanger для тимчасової зміни MAC-адреси

Ви не можете скинути MAC-адресу на мережевому інтерфейсі, який використовується. Ми можемо змінити MAC-адресу нашого Ethernet-з’єднання, оскільки воно не під’єднано, тому воно неактивне.

Параметр -r (випадковий) генерує абсолютно випадкову MAC-адресу. Нам потрібно передати назву мережевого інтерфейсу, для якого ми хочемо встановити MAC-адресу.

sudo macchanger -r enp3s0

MAC-адреса, яка використовувалася, збігалася з MAC-адресою основного обладнання або постійною MAC-адресою. Нова MAC-адреса показана внизу.

Ми також можемо змінити MAC-адресу карти Wi-Fi, якщо відключимо адаптер Wi-Fi, змінимо MAC-адресу, а потім увімкнемо адаптер Wi-Fi.

sudo networkctl down wlan0
sudo macchanger -r wlan0
sudo networkctl up wlan0

Якщо вам не потрібна довільна MAC-адреса, ви можете використати -m (параметр MAC-адреси) і вказати MAC-адресу у форматі двокрапки «:» у нижньому регістрі шістнадцяткового числа.

sudo macchanger -m ae:f9:9b:31:40:c0 enp3s0

Як назавжди змінити MAC-адресу

Усе це гарно й просто, але воно не виживає після перезавантаження.

Однак ми можемо досягти цього, використовуючи файл systemd. Ми отримаємо macchanger, який надаватиме нашому ноутбуку нові MAC-адреси для інтерфейсів Ethernet і Wi-Fi під час кожного завантаження.

Ми збираємося використовувати параметр -e (закінчення), щоб MAC-адресу було змінено, але три байти OUI залишилися незмінними.

Це означає, що наша підроблена MAC-адреса належатиме апаратному забезпеченню, виробленому тими ж компаніями, які виготовляли наше справжнє обладнання Ethernet і Wi-Fi. Це дозволить уникнути проблем із будь-якими маршрутизаторами, міжмережевими екранами чи комутаторами, які відхиляють пакети, що надходять не від обладнання визнаного виробника.

Ми збираємося створити два сервіси. Буде один для з’єднання Ethernet і один для з’єднання Wi-Fi. Один єдиний файл виступатиме як шаблон для кожної служби.

Щоб створити наш модуль-файл, нам потрібно використати sudo і відредагувати файл із базовою назвою, яку ми хочемо мати для наших служб. Знак «@» у назві файлу замінюється назвою мережевого підключення під час запуску служби, як ми побачимо.

Ми називаємо наш модуль-файл «macspoof@.service», оскільки він підробляє MAC-адреси.

sudo gedit /etc/systemd/system/macspoof@.service

Скопіюйте цей текст у свій модульний файл, збережіть файл і закрийте редактор.

[Unit]
Description=Spoofing MAC address on %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
ExecStart=/usr/bin/macchanger -e %I
Type=oneshot

[Install]
WantedBy=multi-user.target

Нам потрібно створити службу для кожного з наших з’єднань. Ми робимо це, додаючи назву мережевого інтерфейсу за знаком «@» в назві пристрою. Спочатку ми зробимо наше з’єднання Ethernet:

sudo systemctl enable macspoof@enp3s0.service

І ми зробимо те саме для нашого з’єднання Wi-Fi.

sudo systemctl enable macspoof@wlan0.service

Після перезавантаження нашого ноутбука ми можемо використовувати macchanger, щоб побачити наші поточні MAC-адреси. Зауважте, що нам не потрібно використовувати sudo, оскільки ми використовуємо macchanger лише для звітування про налаштування MAC-адреси, а не для їх зміни.

macchanger enp3s0
macchanger wlan0

Це показує нам поточні активні, підроблені, MAC-адреси на наших двох мережевих інтерфейсах та їхні оригінальні MAC-адреси.

Оскільки ми використали параметр -e (кінець) у нашому файлі unit, перші три байти підроблених адрес є такими самими, як перші три байти вихідних MAC-адрес.

Постійна зміна MAC-адреси за допомогою GNOME

Більшість настільних середовищ дозволяють встановити нову MAC-адресу. У GNOME це можна зробити, відкривши «Налаштування» та вибравши «Wi-Fi» або «Мережа» на бічній панелі.

Клацніть піктограму зубчастого колеса поруч із з’єднанням, для якого ви бажаєте встановити MAC-адресу, і виберіть вкладку «Ідентифікація».

Ви можете ввести нову MAC-адресу в поле «MAC-адреса» або вибрати справжню MAC-адресу зі спадного меню.

У спадному меню «Клонована адреса» можна вибрати з:

  • Зберігати: зберігати MAC-адресу під час завантаження. Не змінюйте встановлену MAC-адресу.
  • Постійно: використовуйте справжню MAC-адресу обладнання.
  • Випадкова: генерувати випадкову MAC-адресу.
  • Стабільна: генеруйте стабільну хешовану MAC-адресу. Кожного разу, коли з’єднання активується, використовується та сама фальшива MAC-адреса. Це може бути корисним у випадках, коли ви хочете приховати свою апаратну MAC-адресу, але вам потрібно отримати ту саму IP-адресу від маршрутизатора DHCP.

Зміни буде внесено під час перезавантаження або вимкніть і знову ввімкніть з’єднання.

Будь обережний!

Зміна вашої MAC-адреси не є незаконною, якщо ви не робите це, щоб видати себе за чужий мережевий пристрій. Ймовірно, у вашій юрисдикції діють закони щодо незаконного отримання мережевого трафіку. Наприклад, у Великобританії діє Закон про неправомірне використання комп’ютерів, а в США – Закон про комп’ютерне шахрайство та зловживання.

Будьте анонімними, але не видавайте себе за когось іншого.