Jeśli administrujesz systemem Linux, prawdopodobnie zaistnieje potrzeba znajomości adresu MAC systemu. Te informacje mogą być potrzebne z kilku powodów. Być może chcesz, aby DHCP przypisał ci stały adres IP. W tym celu potrzebny będzie adres MAC, aby można było dodać mapowanie adresów IP i MAC do konfiguracji serwera DHCP.
Te informacje mogą być również potrzebne do filtrowania adresów MAC w celu dopuszczenia lub zablokowania niektórych urządzeń w sieci. A może chcesz skonfigurować funkcję Wake-on-LAN. Bez względu na przyczynę, oto kilka różnych sposobów na znalezienie adresu MAC w systemie Linux.
Co to jest adres MAC?
Adres MAC, znany również jako adres fizyczny lub sprzętowy, jest unikalnym identyfikatorem powiązanym z adresem karta sieciowa prawie każdego urządzenia podłączonego do sieci.
Adres MAC działa w drugiej warstwie (warstwa łącza danych).
modelu OSI i ma długość 48 bitów, gdzie pierwsze 24 bity reprezentują identyfikator producenta, a ostatnie 24 bity reprezentują unikalny identyfikator tej karty sieciowej. Podobnie jak adresy IP, możesz również zmień adres MAC swojej karty sieciowej.Znajdź adres MAC w systemie Linux za pomocą wiersza poleceń
Oto kilka najszybszych i najłatwiejszych metod znalezienia adresu MAC w systemie Linux:
Używając polecenia ip
Za pomocą polecenia ip w systemie Linux można przeglądać i konfigurować fizyczne i wirtualne interfejsy sieciowe, routing, zasady routingu i tunele. Może dodawać lub usuwać interfejs sieciowy, przypisywać / usuwać adresy IP, wyświetlać stan interfejsów sieciowych i wykonywać znacznie bardziej przydatne zadania.
Możesz znaleźć adres MAC swojego systemu za pomocą następującego polecenia ip:
łącze ip pokazywać
To polecenie pokazuje szczegóły wszystkich interfejsów sieciowych, w tym ich adresy MAC oprócz etykiety łącze/eter jak podkreślono poniżej:
Aby znaleźć adres MAC określonego interfejsu sieciowego, użyj następującej składni:
łącze ip pokazywać deweloper
Za pomocą polecenia ifconfig
Polecenie ifconfig w systemie Linux umożliwia konfigurowanie i wyświetlanie stanu interfejsów sieciowych. Ponadto może również aktywować i dezaktywować interfejs sieciowy.
Aby znaleźć adres MAC wszystkich dostępnych interfejsów sieciowych (nawet jeśli są dezaktywowane), użyj polecenia ifconfig z rozszerzeniem -A flagę w następujący sposób:
ifconfig -a
Aby znaleźć adres MAC określonego interfejsu sieciowego, podaj jego nazwę jako argument:
ifconfig nazwa_interfejsu
Aby znaleźć adres MAC wszystkich aktualnie aktywnych interfejsów sieciowych, użyj polecenia ifconfig bez żadnej flagi:
ifconfig
Na wyjściu możesz znaleźć adres MAC swojego interfejsu obok etykiety eter jak podkreślono poniżej:
ethtool to narzędzie systemu Linux, które umożliwia wyszukiwanie i konfigurowanie sterowników sieciowych oraz ustawień karty sieciowej. Korzystając z narzędzia ethtool, możesz również zapytać interfejs sieciowy o jego adres MAC.
Oto polecenie, aby to zrobić:
ethtool -P nazwa_interfejsu
Uzyskaj adres MAC z katalogu /sys/class/net
The /sys/class/net katalog zawiera informacje o urządzeniach sieciowych podłączonych do systemu. Ten katalog utrzymuje osobny podkatalog dla każdego z interfejsów sieciowych, takich jak /sys/class/net/ens33 I /sys/class/net /ens37.
Każdy podkatalog zawiera różne pliki dla każdego atrybutu sieciowego, takiego jak adres MAC, stan operacyjny urządzenia sieciowego, jego dupleks, MTU itp. Informacje o adresie MAC są przechowywane w pliku adres plik.
Aby wyświetlić listę interfejsów sieciowych podłączonych do systemu, użyj następującego polecenia:
ls /sys/klasa/internet
Aby znaleźć adres MAC określonego interfejsu sieciowego, użyj następującej składni polecenia:
kot /sys/klasa/internet/nazwa_interfejsu/adres
Na przykład, aby znaleźć adres MAC interfejsu sieciowego, powiedzmy ens33, polecenie brzmiałoby:
kot /sys/klasa/internet/ens33/adres
Jak znaleźć adres MAC w systemie Linux za pomocą GUI
Ci, którzy preferują GUI do swoich rutynowych zadań, mogą znaleźć swój adres MAC graficznie za pomocą menedżera sieci dostarczonego przez ich dystrybucję. Podobnie jak w Ubuntu, możesz użyć ustawień Połączenia sieciowe.
otwarty Ustawienia w twojej dystrybucji Linuksa, klikając prawym przyciskiem myszy na pulpicie lub z menu aplikacji. Z lewego panelu przejdź do Sieć patka. Spowoduje to wyświetlenie wszystkich interfejsów sieciowych podłączonych do systemu.
Aby znaleźć adres MAC interfejsu sieciowego, kliknij przycisk Koło zębate (ustawienia) przed nim.
Spowoduje to otwarcie nowego okna ze szczegółami interfejsu sieciowego. Tutaj znajdziesz adres MAC obok etykiety Adres sprzętowy.
W tym przewodniku użyliśmy GNOME do obrazów, ale inne środowiska graficzne również miałyby podobne ustawienia, tylko z innymi etykietami.
Znajdź adres MAC innego systemu w sieci lokalnej
Podobnie jak własny adres MAC, możesz również znaleźć adres MAC innych systemów w sieci lokalnej. Oto jak:
Używając polecenia arp
Możesz użyć protokołu ARP lub protokołu rozpoznawania adresów, aby poznać adres MAC dla danego adresu IP. Aby znaleźć adres MAC innego systemu w sieci lokalnej, wykonaj polecenie ping na jego adres IP za pomocą:
ping -c1 <IPadres>
Polecenie ping użyje protokołu ARP do poznania adresu MAC systemu zdalnego. Po otrzymaniu tych informacji są one przechowywane w tabeli ARP, którą można przeglądać za pomocą:
arp -n | grep <IPadres>
To polecenie wydrukuje adres MAC dla podanego adresu IP.
Narzędzie arping pomaga w wykrywaniu i sondowaniu lokalnych systemów w sieci. Funkcjonuje w drugiej warstwie modelu OSI i wysyła żądanie ARP do systemu w celu ustalenia, czy jest żywy i odpowiada. Różni się od narzędzia ping, które działa w trzeciej warstwie.
Możesz zainstalować arping za pomocą następujących poleceń:
W przypadku dystrybucji opartych na Debianie:
sudo apt zainstalować arpowanie
W przypadku dystrybucji opartych na RHEL:
sudo mniam zainstalować arpowanie
Po zainstalowaniu znajdź adres MAC innego systemu w sieci, podając jego adres IP jako argument za pomocą następującego polecenia:
sudo arping -c 1 <IPadres>
Jeśli twój system ma wiele kart sieciowych, możesz określić, z którego interfejsu ma zostać wysłane żądanie, używając -I flaga (duże „i”), po której następuje nazwa interfejsu:
sudo arping -c 1 -I nazwa_interfejsu <IPadres>
Na przykład następujące polecenie wyśle jedno żądanie ARP ze swojego ens33 interfejs do adresu IP zdalnego systemu 192.168.42.133.
Sudoarpowanie-C 1 -Iens33 192.168.42.133
Na wyjściu otrzymasz odpowiedź ARP z systemu docelowego zawierającą jego adres MAC.
Łatwo jest znaleźć swój adres MAC w systemie Linux
Biorąc pod uwagę różne metody znajdowania adresu MAC w systemie Linux, możesz wybrać dowolny, który uznasz za wygodny.
Podobnie jak w przypadku Linuksa, adres MAC można również znaleźć w systemach Windows i macOS; jednak mają różne zestawy poleceń i GUI.