Wpisz w terminalu ifconfig wlan0Na końcu pierwszego wiersza powinien znajdować się adres sprzętowy MAC.
LotPings
2
@LotPings Możesz udzielić odpowiedzi!
joan
Odpowiedzi:
9
Poniżej znajduje się fragment skryptu bash, którego używam do określenia MAC Ethernetu lub jeśli nie istnieje WiFi (dla Pi Zero W).
Nie opiera się na ifconfigżadnej innej metodzie wykrywania przydzielonego adresu IP i potrzebuje tylko systemu do wykrycia sprzętu sieciowego.
Działa to w przypadku Jessie, Stretch lub 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
Zasadniczo można użyć MAC=$(cat /sys/class/net/wlan0/address)do znalezienia MAC wbudowanego WiFi na Pi3 lub Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address) powinien działać na kluczach WiFi na Stretch, ale możesz łatwo dostosować powyższe do pracy zarówno na Jessie, jak i Stretch dla WiFi i Ethernet.
Bardzo dobra odpowiedź. Dziękuję Ci! Czy Raspbian Stretch używa przewidywalnych nazw interfejsów sieciowych? Czy wpływają na nazewnictwo konstrukcji /sys/class/net?
Jestem prawie pewien, ifconfigże nadal będzie dostępny przez wiele lat. Usunięcie go uratuje marne 800 kB, niszcząc wiele starych skryptów.
Dmitrij Grigoriew
Problem polega na tym, że ta osoba chciałaby pensji.
Dmitrij Grigoriew
1
Smutne jest dalsze używanie przestarzałego polecenia w nowych implementacjach. Widziałem to w sytuacjach związanych z pracą, i to jest jak przesuwanie problemu przed sobą, aw pewnym momencie stanie się zbyt duże! Zamiast tego zacznij sobie z tym radzić!
MatsK,
2
W tym przypadku ip link showjest to prawdopodobnie bardziej odpowiednie niż ip addr show.
Bob
1
W moim systemie stacjonarnym uruchamiam Debian Stretch, który wydaje się, że nie ma ifconfigjuż domyślnie, Raspbian Stretch wydaje się go mieć. Wolę ipponad ifconfig, choć myślę, że Bob ma rację mówiąc, że linkjest to prawdopodobnie bardziej odpowiednie niż addrw tym kontekście. Rozwiązaniem, które wybrałem, było jednak odczytanie go /sys/class/net/wlan0/address- nie jest konieczne dodatkowe analizowanie. Dodatkowo piszę to jak cat /sys/class/net/wl*/addressnaiwną próbę uratowania go przed nadchodzącymi „przewidywalnymi nazwami interfejsów sieciowych”.
ifconfig wlan0
Na końcu pierwszego wiersza powinien znajdować się adres sprzętowy MAC.Odpowiedzi:
Poniżej znajduje się fragment skryptu bash, którego używam do określenia MAC Ethernetu lub jeśli nie istnieje WiFi (dla Pi Zero W).
Nie opiera się na
ifconfig
żadnej innej metodzie wykrywania przydzielonego adresu IP i potrzebuje tylko systemu do wykrycia sprzętu sieciowego.Działa to w przypadku Jessie, Stretch lub Buster
Zasadniczo można użyć
MAC=$(cat /sys/class/net/wlan0/address)
do znalezienia MAC wbudowanego WiFi na Pi3 lub Pi Zero W.MAC=$(cat /sys/class/net/wlx*/address)
powinien działać na kluczach WiFi na Stretch, ale możesz łatwo dostosować powyższe do pracy zarówno na Jessie, jak i Stretch dla WiFi i Ethernet.źródło
/sys/class/net
?Wpisz w terminalu / konsoli
ifconfig wlan0
Na końcu pierwszego wiersza powinien znajdować się adres sprzętowy MAC.Oto przykładowe dane wyjściowe (niemieckie ustawienia regionalne):
źródło
ifconfig
była to dobra alternatywa na przyszłość.Wiele dystrybucje zastępuje
ifconfig
sięip
więc chciałbym zniechęcać do używaniaifconfig
.Aby wyświetlić interfejs wlan0:
lub
Patrz: https://www.linux.com/learn/replacing-ifconfig-ip
źródło
ifconfig
że nadal będzie dostępny przez wiele lat. Usunięcie go uratuje marne 800 kB, niszcząc wiele starych skryptów.ip link show
jest to prawdopodobnie bardziej odpowiednie niżip addr show
.ifconfig
już domyślnie, Raspbian Stretch wydaje się go mieć. Wolęip
ponadifconfig
, choć myślę, że Bob ma rację mówiąc, żelink
jest to prawdopodobnie bardziej odpowiednie niżaddr
w tym kontekście. Rozwiązaniem, które wybrałem, było jednak odczytanie go/sys/class/net/wlan0/address
- nie jest konieczne dodatkowe analizowanie. Dodatkowo piszę to jakcat /sys/class/net/wl*/address
naiwną próbę uratowania go przed nadchodzącymi „przewidywalnymi nazwami interfejsów sieciowych”.