Om du administrerar ett Linux-system kommer det sannolikt att finnas tillfällen då du behöver veta ditt systems MAC-adress. Du kan behöva denna information av flera skäl. Du kanske vill att DHCP ska tilldela dig en fast IP-adress. För detta behöver du MAC-adressen så att du kan lägga till IP- och MAC-adressmapping till dina DHCP-serverkonfigurationer.
Du kan också behöva denna information för MAC-adressfiltrering för att tillåta eller blockera vissa enheter i ditt nätverk. Eller så kanske du vill ställa in Wake-on-LAN. Oavsett orsaken är här några olika sätt att hitta MAC-adressen på ditt Linux-system.
Vad är en MAC-adress?
En MAC-adress, även känd som en fysisk adress eller hårdvaruadress, är en unik identifierare associerad med en nätverkskort i stort sett varje enhet som är ansluten till ett nätverk.
MAC-adress fungerar på det andra lagret (Datalänkslager) av
OSI-modellen och är 48 bitar lång, där de första 24 bitarna representerar tillverkarens ID och de sista 24 bitarna representerar det unika ID: t för det NIC. Precis som IP-adresser kan du också ändra MAC-adressen för ditt nätverkskort.Hitta MAC-adressen på Linux via kommandoraden
Här är några snabbaste och enklaste metoder för att hitta din MAC-adress på Linux:
Använda ip-kommandot
Du kan använda ip-kommandot i Linux för att visa och konfigurera fysiska såväl som virtuella nätverksgränssnitt, routing, policy routing och tunnlar. Den kan lägga till eller ta bort ett nätverksgränssnitt, tilldela/ta bort IP-adresser, visa status för nätverksgränssnitt och utföra mycket mer användbara uppgifter.
Du kan hitta MAC-adressen för ditt system med följande ip-kommando:
ip länk show
Detta kommando visar detaljerna för alla nätverksgränssnitt inklusive deras MAC-adresser förutom etiketten länk/eter som markerats nedan:
För att hitta MAC-adressen för ett visst nätverksgränssnitt, använd följande syntax:
ip länk show dev
Använd kommandot ifconfig
Kommandot ifconfig i Linux låter dig konfigurera och visa status för nätverksgränssnitt. Dessutom kan den också aktivera och avaktivera ett nätverksgränssnitt.
För att hitta MAC-adressen för alla tillgängliga nätverksgränssnitt (även om de är avaktiverade), använd kommandot ifconfig med -a flagga enligt följande:
ifconfig -a
För att hitta MAC-adressen för ett visst nätverksgränssnitt, ange dess namn som ett argument:
ifconfig gränssnittsnamn
För att hitta MAC-adressen för alla för närvarande aktiva nätverksgränssnitt, använd kommandot ifconfig utan någon flagga:
ifconfig
I utgången kan du hitta MAC-adressen för ditt gränssnitt bredvid etiketten eter som markerats nedan:
ethtool är ett Linux-verktyg som låter dig fråga och konfigurera nätverksdrivrutiner och nätverkskortinställningar. Med hjälp av verktyget ethtool kan du också fråga ett nätverksgränssnitt för dess MAC-adress.
Här är kommandot för att göra det:
ethtool -P interface_name
Hämta MAC-adress från /sys/class/net-katalogen
De /sys/class/net katalogen innehåller information om nätverksenheterna som är anslutna till systemet. Denna katalog har en separat underkatalog för vart och ett av nätverksgränssnitten som /sys/class/net/ens33 och /sys/class/net /ens37.
Varje underkatalog innehåller olika filer för varje nätverksattribut som MAC-adress, drifttillståndet för nätverksenheten, dess duplex, MTU, etc. MAC-adressinformationen lagras i adress fil.
För att lista nätverksgränssnitten som är kopplade till ditt system, använd följande kommando:
ls /sys/klass/netto
För att hitta MAC-adressen för ett visst nätverksgränssnitt, använd följande kommandosyntax:
katt /sys/klass/netto/gränssnittsnamn/adress
Till exempel, för att hitta MAC-adressen för ett nätverksgränssnitt, låt oss säga ens33, kommandot skulle vara:
katt /sys/klass/netto/ens33/adress
Hur man hittar MAC-adressen på Linux via GUI
De som föredrar GUI för sina rutinuppgifter kan hitta sin MAC-adress grafiskt med hjälp av nätverkshanteraren som tillhandahålls av deras distribution. Som i Ubuntu kan du använda inställningarna för nätverksanslutningar.
Öppen inställningar i din Linux-distribution antingen genom att högerklicka på skrivbordet eller från programmenyn. Från den vänstra panelen, gå till Nätverk flik. Detta kommer att visa alla nätverksgränssnitt som är kopplade till ditt system.
För att hitta MAC-adressen för ett nätverksgränssnitt, klicka på Kugge (inställningar) ikonen framför den.
Detta öppnar ett nytt fönster som visar informationen om ditt nätverksgränssnitt. Här hittar du MAC-adressen bredvid etiketten Hårdvaruadress.
För den här guiden har vi använt GNOME för bilderna, men andra skrivbordsmiljöer skulle också ha liknande inställningar, bara med andra etiketter.
Hitta MAC-adressen för ett annat system i ett lokalt nätverk
I likhet med din egen MAC-adress kan du också hitta MAC-adressen för andra system i ett lokalt nätverk. Här är hur:
Använda kommandot arp
Du kan använda ARP, eller Address Resolution Protocol, för att lära dig MAC-adressen för en given IP-adress. För att hitta MAC-adressen för ett annat system i ett lokalt nätverk, pinga dess IP-adress med:
ping -c1 <IPadress>
Ping-kommandot använder ARP för att lära sig MAC-adressen för fjärrsystemet. När den har fått denna information lagras den i ARP-tabellen, som du kan se med:
arp -n | grep <IPadress>
Detta kommando kommer att skriva ut MAC-adressen för den givna IP-adressen.
Arping-verktyget hjälper dig att upptäcka och undersöka lokala system i ett nätverk. Den fungerar i det andra lagret i OSI-modellen och skickar ARP-begäran till systemet för att avgöra om det är levande och svarar. Det skiljer sig från pingverktyget som fungerar i det tredje lagret.
Du kan installera arping med följande kommandon:
På Debian-baserade distributioner:
sudo apt Installera arping
På RHEL-baserade distributioner:
sudo yum Installera arping
När det är installerat, hitta MAC-adressen för ett annat system i ett nätverk genom att ange dess IP-adress som ett argument med följande kommando:
sudo arping -c 1 <IPadress>
Om ditt system har flera nätverkskort kan du ange från vilket gränssnitt en begäran ska skickas med hjälp av -Jag flagga (versal "i") följt av gränssnittets namn:
sudo arping -c 1 -I gränssnittsnamn <IPadress>
Till exempel kommer följande kommando att skicka en ARP-förfrågan från dess ens33 gränssnittet till fjärrsystemets IP-adress 192.168.42.133.
sudoarping-c 1 -Jagens33 192.168.42.133
I utgången kommer du att få ARP-svaret från destinationssystemet som innehåller dess MAC-adress.
Det är lätt att hitta din MAC-adress på Linux
Med tanke på de olika metoderna för att hitta MAC-adressen på Linux kan du välja vilken som helst som du tycker är bekväm.
I likhet med Linux kan du också hitta MAC-adressen i Windows och macOS; dock har de olika uppsättningar av kommandon och GUI.