Come posso trovare l'indirizzo MAC della mia interfaccia Wi-Fi?


10

Voglio determinare l'indirizzo MAC della mia interfaccia Wi-Fi su un Raspberry Pi ZW con Raspbian Lite.

C'è un comando che posso eseguire per dirmi questo? C'è un dispositivo /procnell'albero che lo rivelerà?


1
Inserisci nel terminale ifconfig wlan0Alla fine della prima riga dovrebbe essere l'indirizzo hardware aka MAC.
LotPings,

2
@LotPings Potresti dare una risposta!
Giovanni,

Risposte:


9

Quello che segue è un frammento di uno script bash che uso per determinare il MAC di Ethernet, o se questo non esiste del WiFi (per Pi Zero W).

Non si basa su ifconfigalcun altro metodo per rilevare l'IP allocato e necessita solo che il sistema rilevi l'hardware di rete.

Questo funziona per Jessie, Stretch o Buster

# Find MAC of eth0, or if not exist wlan0
if [ -e /sys/class/net/eth0 ]; then
    MAC=$(cat /sys/class/net/eth0/address)
elif [ -e /sys/class/net/enx* ]; then
    MAC=$(cat /sys/class/net/enx*/address)
else
    MAC=$(cat /sys/class/net/wlan0/address)
fi

Fondamentalmente potresti usare MAC=$(cat /sys/class/net/wlan0/address)per trovare il MAC del WiFi integrato su Pi3 o Pi Zero W.

MAC=$(cat /sys/class/net/wlx*/address) dovrebbe funzionare su dongle WiFi su Stretch, ma potresti facilmente adattare quanto sopra per lavorare su Jessie o Stretch per WiFi ed Ethernet.


Ottima risposta Grazie! Raspbian Stretch utilizza nomi di interfaccia di rete prevedibili? Interessano la denominazione della struttura sotto /sys/class/net?
Bex,

1
@Bex Dipende; una nuova installazione utilizza nomi di interfaccia di rete prevedibili per impostazione predefinita, non conosco gli aggiornamenti. È semplice ripristinare il comportamento precedente, vedere Come si imposta la rete / WiFi / IP statico per i dettagli. Dovrebbe essere mostrato il nome selezionato dal processo di enumerazione hardware. Esistono diversi metodi per modificare questo processo.
Milliways,

10

Inserisci nel terminale / console ifconfig wlan0Alla fine della prima riga dovrebbe essere l'indirizzo hardware aka MAC.

Ecco un esempio di output (impostazioni internazionali tedesche):

pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0     Link encap:Ethernet  Hardware Adresse b8:27:eb:xx:xx:xx
...

Ho votato a favore di questa risposta, ma non credo ifconfigsia una buona alternativa per il futuro.
Bex,

1
D'accordo, per fortuna ci sono due alternative.
LotPings,

7

Molte distribuzioni sta sostituendo ifconfigcon ipcosì vorrei scoraggiare l'uso di ifconfig.

Per mostrare l'interfaccia wlan0:

ip link show wlan0

o

cat /sys/class/net/wlan0/address

Rif: https://www.linux.com/learn/replacing-ifconfig-ip


Sono abbastanza sicuro che ifconfigsarà ancora disponibile per molti anni. Rimuoverlo si risparmia un misero 800 kB, rompendo molti vecchi script.
Dmitry Grigoryev,

Il problema è che quella persona vorrebbe uno stipendio.
Dmitry Grigoryev,

1
Continuare a utilizzare un comando obsoleto in nuove implementazioni è triste. L'ho visto in situazioni legate al lavoro, ed è come spingere il problema di fronte a te, e ad un certo punto diventerà grande! Inizia invece a gestirlo!
MatsK,

2
In questo caso, ip link showè probabilmente più appropriato di ip addr show.
Bob

1
Nel mio sistema desktop eseguo Debian Stretch, che non sembra più avere ifconfigdi default, Raspbian Stretch sembra averlo. Io preferisco ipsopra ifconfig, anche se credo che Bob ha ragione nel dire che linkè probabilmente più appropriato addrin questo contesto. La soluzione per cui ho optato, tuttavia, è stata quella di leggerlo /sys/class/net/wlan0/address- non sono necessarie analisi aggiuntive. Inoltre, lo scrivo come cat /sys/class/net/wl*/addressin un ingenuo tentativo di salvarlo per i prossimi "nomi di interfaccia di rete prevedibili".
Bex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.