Jak trwale zmienić adres MAC w systemie Linux

Opublikowany: 2023-04-02
Laptop z systemem Linux przedstawiający okno terminala z wzorem kuli ziemskiej w tle i binarnym znakiem wodnym
fatmawati achmad zaenuri/Shutterstock
Możesz ustawić stały nowy adres MAC w terminalu za pomocą narzędzia macchanger i pliku jednostki systemctl. Lub w GNOME przejdź do Ustawienia > Wi-Fi [lub sieć] > Tożsamość i wprowadź niestandardowy adres MAC.

Każdy interfejs sieciowy ma unikalny adres MAC, ustawiony przez producenta. W ten sposób połączenia sieciowe identyfikują punkty końcowe połączenia. W systemie Linux możesz trwale zmienić adres MAC, jeśli chcesz.

Spis treści

Co to jest adres MAC?
Znajdowanie adresu MAC
Użyj macchanger, aby zmienić swój adres MAC w systemie Linux
Instalowanie macchangera
Używanie macchangera do tymczasowej zmiany adresu MAC
Jak trwale zmienić adres MAC
Trwała zmiana adresu MAC za pomocą GNOME
Bądź ostrożny!

Co to jest adres MAC?

Adres MAC to unikalny kod używany do identyfikacji przez sieci w celu identyfikacji urządzeń jako punktów końcowych połączenia. Odpowiada na krytyczne pytanie „kto jest kim” wśród interfejsów sieciowych.

Każde urządzenie sieciowe ma wbudowany co najmniej jeden interfejs sieciowy. W komputerze stacjonarnym lub serwerze może być zainstalowanych wiele kart sieciowych. Wiele laptopów jest dostarczanych z gniazdem sieciowym CAT5 i kartą Wi-Fi, co zapewnia dwa interfejsy sieciowe od razu po wyjęciu z pudełka.

Każdy interfejs sieciowy ma unikalny, wbudowany identyfikator. Niezależnie od protokołu sieciowego, który jest używany do komunikacji z tym urządzeniem, na najniższym poziomie połączenie jest identyfikowane przez jego kontrolę dostępu do mediów lub adres MAC. Dlatego muszą być wyjątkowe. Używanie przez interfejs sieciowy innego adresu MAC nazywa się fałszowaniem .

Adres MAC składa się z sześciu liczb szesnastkowych. Są one pisane dwukropkiem „:” lub łącznikiem „-” między każdą z sześciu cyfr. Oto adres MAC z jednego z naszych komputerów testowych.

 b0:c0:90:58:b0:72

Najczęściej pierwsze trzy cyfry to organizacyjnie unikalny identyfikator reprezentujący producenta sprzętu. Możesz zdekodować OUI za pomocą strony Wireshark Manufacturer Lookup. Pamiętaj, że może to być producent płyty głównej komputera, karty sieciowej lub karty Wi-Fi. Producenci kupują wiele komponentów swoich komputerów i składają je w gotowy produkt, więc nie zdziw się, jeśli jest inny niż producent twojego komputera.

Ponieważ adresy MAC są wbudowane, tak naprawdę nie można ich zmienić. To, co możesz zrobić, to skonfigurować system Linux tak, aby udawał , że ma inny adres MAC. Jeśli chodzi o każde inne urządzenie w sieci, adres MAC twojego komputera jest tym, który nadaje, więc wynik końcowy jest taki sam.

Znajdowanie adresu MAC

Aby znaleźć swój aktualny adres MAC, możesz użyć polecenia ip z obiektem link . Spowoduje to wyświetlenie listy interfejsów sieciowych, niezależnie od tego, czy są używane, czy odłączone od sieci.

 łącze ip 

Używanie polecenia ip link do wykrywania adresów MAC komputera

Ten komputer to laptop z aktywnym połączeniem Wi-Fi, wlan0 i przewodowym połączeniem Ethernet, enp3s0 . Połączenie przewodowe nie jest podłączone, więc jest nieaktywne. Laptop ma również skonfigurowane domyślne połączenie zwrotne lo .

POWIĄZANE: Jak korzystać z polecenia ip w systemie Linux

Użyj macchanger, aby zmienić swój adres MAC w systemie Linux

Narzędzie macchanger umożliwia zmianę adresu MAC interfejsu sieciowego za pomocą elastycznych opcji. Możesz ustawić określony adres MAC lub użyć losowego adresu MAC. Możesz także uzyskać nowy adres MAC, który wykorzystuje te same trzy bajty OUI co twój sprzęt, dzięki czemu producent interfejsu sieciowego pozostaje ten sam.

Instalowanie macchangera

Aby zainstalować macchanger na Ubuntu, użyj tego polecenia:

 sudo apt zainstaluj macchanger 

Instalowanie macchangera na Ubuntu

Aby zainstalować macchanger w Fedorze, musisz wpisać:

 sudo dnf zainstaluj macchanger 

Instalowanie macchangera w Fedorze

W Manjaro polecenie brzmi:

 sudo pacman -S macchanger 

Instalowanie MacChangera na Manjaro

W zależności od wersji macchanger , która znajduje się w repozytoriach twojej dystrybucji, możesz zobaczyć ekran z pytaniem, czy chcesz, aby nowy adres MAC był tworzony za każdym razem, gdy połączenie sieciowe jest włączane. To znaczy po podłączeniu kabla Ethernet lub włączeniu Wi-Fi.

Ekran opcji instalacji macchangera

Użyj klawiszy strzałek, aby przesunąć podświetlenie do opcji, której chcesz użyć, i naciśnij „Enter”.

Jest pewna wygoda w tej metodzie, ale wybieramy „Nie”. Chcemy mieć pewną kontrolę nad adresami MAC, których używamy. Ponadto możesz nie chcieć zmieniać adresu MAC na każdym interfejsie sieciowym komputera. Być może na przykład chcesz to zmienić tylko na karcie Wi-Fi.

Używanie macchangera do tymczasowej zmiany adresu MAC

Nie można zresetować adresu MAC w używanym interfejsie sieciowym. Możemy zmienić adres MAC naszego połączenia Ethernet, ponieważ nie jest ono podłączone, więc jest nieaktywne.

Opcja -r (random) generuje całkowicie losowy adres MAC. Musimy podać nazwę interfejsu sieciowego, na którym chcemy ustawić adres MAC.

 sudo macchanger -r enp3s0 

Ustawianie losowego adresu MAC za pomocą macchanger

Używany adres MAC był taki sam, jak bazowy adres MAC sprzętu lub stały adres MAC. Nowy adres MAC jest wyświetlany na dole.

Możemy również zmienić adres MAC karty Wi-Fi, jeśli wyłączymy adapter Wi-Fi, zmienimy adres MAC, a następnie włączymy adapter Wi-Fi.

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

Wyłączanie i włączanie połączenia Wi-Fi, aby umożliwić zmianę jego adresu MAC za pomocą machangera

Jeśli nie chcesz losowego adresu MAC, możesz użyć opcji -m (opcja adresu MAC) i podać adres MAC w formacie dwukropka „:”, małymi literami w systemie szesnastkowym.

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

Ustawianie określonego adresu MAC za pomocą macchanger

POWIĄZANE: Jak ustawić statyczny adres IP w Ubuntu

Jak trwale zmienić adres MAC

To wszystko jest ładne i proste, ale nie przetrwa restartu.

Możemy to jednak osiągnąć, używając pliku jednostki systemd . Poprosimy macchanger , aby przy każdym uruchomieniu nadawał naszemu laptopowi nowe adresy MAC dla jego interfejsów Ethernet i Wi-Fi.

Zamierzamy użyć opcji -e (końcowej), aby zmienić adres MAC, ale trzy bajty OUI pozostają takie same.

Oznacza to, że nasz sfałszowany adres MAC będzie wyglądał na należący do sprzętu wyprodukowanego przez te same firmy, które wyprodukowały nasz rzeczywisty sprzęt Ethernet i Wi-Fi. Pozwoli to uniknąć problemów z routerami, zaporami ogniowymi lub przełącznikami odrzucającymi pakiety, które nie pochodzą od sprzętu uznanego producenta.

Stworzymy dwie usługi. Będzie jeden dla połączenia Ethernet i jeden dla połączenia Wi-Fi. Pojedynczy plik jednostki będzie działał jako szablon dla każdej usługi.

Jak wyświetlić listę usług systemu Linux za pomocą systemctl
POWIĄZANE Jak wyświetlić listę usług systemu Linux za pomocą systemctl

Aby utworzyć nasz plik jednostki, musimy użyć sudo i edytować plik z podstawową nazwą, jaką chcemy mieć nasze usługi. Znak at „@” w nazwie pliku jest zastępowany nazwą połączenia sieciowego po uruchomieniu usługi, jak zobaczymy.

Nazywamy nasz plik jednostkowy „[email protected]”, ponieważ fałszuje on adresy MAC.

 sudo gedit /etc/systemd/system/[email protected] 

Uruchamianie edytora w celu utworzenia pliku jednostki systemd

Skopiuj ten tekst do pliku jednostki, zapisz plik i zamknij edytor.

 [Jednostka]
Description=Podszywanie się pod adres MAC na %I
Wants=network-pre.target
Przed=sieć-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Praca]
ExecStart=/usr/bin/macchanger -e %I
Typ=jednorazowy

[Zainstalować]
WantedBy=multi-user.target

Musimy utworzyć usługę dla każdego z naszych połączeń. Robimy to dodając nazwę interfejsu sieciowego za znakiem „@” w nazwie urządzenia. Najpierw wykonamy nasze połączenie Ethernet:

 sudo systemctl włącz [email protected]

To samo zrobimy z naszym połączeniem Wi-Fi.

 sudo systemctl włącz [email protected] 

Umożliwienie dwóm usługom zmiany adresów MAC podczas uruchamiania

Po ponownym uruchomieniu naszego laptopa możemy użyć macchanger , aby zobaczyć, jakie są nasze aktualne adresy MAC. Zauważ, że nie musimy używać sudo , ponieważ używamy macchanger tylko do raportowania ustawień adresu MAC, a nie do ich zmiany.

 macchanger enp3s0
 macchanger wlan0 

Używanie macchanger do wyświetlania aktualnych adresów MAC dla połączeń Ethernet i Wi-Fi

To pokazuje nam aktualnie aktywne, sfałszowane adresy MAC na naszych dwóch interfejsach sieciowych oraz ich oryginalne adresy MAC.

Ponieważ użyliśmy opcji -e (zakończenie) w naszym pliku jednostki, pierwsze trzy bajty sfałszowanych adresów są takie same jak pierwsze trzy bajty oryginalnych adresów MAC.

Trwała zmiana adresu MAC za pomocą GNOME

Większość środowisk graficznych umożliwia ustawienie nowego adresu MAC. W GNOME możesz to zrobić, otwierając „Ustawienia” i wybierając „Wi-Fi” lub „Sieć” z paska bocznego.

Kliknij ikonę koła zębatego obok połączenia, dla którego chcesz ustawić adres MAC, i wybierz kartę „Tożsamość”.

Możesz wprowadzić nowy adres MAC w polu „Adres MAC” lub wybrać oryginalny adres MAC z menu rozwijanego.

Karta Tożsamość połączenia sieciowego GNOME w aplikacji Ustawienia

Menu rozwijane „Sklonowany adres” umożliwia wybór spośród:

  • Zachowaj : Zachowaj adres MAC w czasie uruchamiania. Nie zmieniaj ustawionego adresu MAC.
  • Trwałe : Użyj oryginalnego adresu MAC sprzętu.
  • Losowo : Wygeneruj losowy adres MAC.
  • Stabilny : Wygeneruj stabilny, zaszyfrowany adres MAC. Za każdym razem, gdy połączenie jest aktywowane, używany jest ten sam fałszywy adres MAC. Może to być przydatne w przypadkach, gdy chcesz ukryć swój sprzętowy adres MAC, ale musisz uzyskać ten sam adres IP z routera DHCP.

Twoje zmiany zostaną wprowadzone po ponownym uruchomieniu lub wyłączeniu i ponownym włączeniu połączenia.

Bądź ostrożny!

Zmiana adresu MAC nie jest nielegalna, o ile nie robisz tego w celu podszywania się pod urządzenie sieciowe innej osoby. W Twojej jurysdykcji prawdopodobnie będą obowiązywać przepisy dotyczące nielegalnego odbierania ruchu sieciowego. Na przykład w Wielkiej Brytanii obowiązuje ustawa o nadużyciach komputerowych, a w Stanach Zjednoczonych ustawa o oszustwach i nadużyciach komputerowych.

Stań się jak najbardziej anonimowy, ale nie udawaj kogoś innego.

POWIĄZANE: Jak używać bmon do monitorowania przepustowości sieci w systemie Linux