Saya ingin menentukan alamat MAC dari antarmuka Wi-Fi saya di Raspberry Pi ZW yang menjalankan Raspbian Lite.
Apakah ada perintah yang bisa saya jalankan untuk memberi tahu saya ini? Apakah ada perangkat di /proc
pohon yang akan mengungkapkannya?
Saya ingin menentukan alamat MAC dari antarmuka Wi-Fi saya di Raspberry Pi ZW yang menjalankan Raspbian Lite.
Apakah ada perintah yang bisa saya jalankan untuk memberi tahu saya ini? Apakah ada perangkat di /proc
pohon yang akan mengungkapkannya?
Jawaban:
Berikut ini adalah fragmen skrip bash yang saya gunakan untuk menentukan MAC Ethernet, atau jika ini tidak ada WiFi (untuk Pi Zero W).
Itu tidak bergantung pada ifconfig
atau metode lain untuk mendeteksi IP yang dialokasikan, dan hanya perlu sistem untuk mendeteksi perangkat keras jaringan.
Ini berfungsi untuk Jessie, Stretch atau 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
Pada dasarnya Anda dapat menggunakan MAC=$(cat /sys/class/net/wlan0/address)
untuk menemukan MAC dari WiFi inbuilt pada Pi3 atau Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address)
harus bekerja pada dongle WiFi di Stretch, tetapi Anda dapat dengan mudah mengadaptasi di atas untuk bekerja pada Jessie atau Stretch untuk WiFi dan Ethernet.
/sys/class/net
?
Masuk di terminal / konsol ifconfig wlan0
Pada akhir baris pertama harus alamat perangkat keras alias MAC.
Di sini contoh keluaran (lokal Jerman):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfig
ini bukan alternatif yang baik untuk masa depan.
Banyak distro adalah mengganti ifconfig
dengan ip
jadi saya akan mencegah penggunaan ifconfig
.
Untuk menampilkan antarmuka wlan0:
ip link show wlan0
atau
cat /sys/class/net/wlan0/address
ifconfig
masih akan tersedia selama bertahun-tahun. Menghapusnya akan menghemat 800 kB, mematahkan banyak skrip lama.
ip link show
mungkin lebih tepat daripada ip addr show
.
ifconfig
lagi secara default, Raspbian Stretch tampaknya memilikinya. Saya lebih suka ip
daripada ifconfig
, meskipun saya pikir Bob benar dalam mengatakan bahwa link
mungkin lebih tepat daripada addr
dalam konteks ini. Solusi yang saya lakukan adalah membacanya /sys/class/net/wlan0/address
- tidak perlu penguraian tambahan. Selain itu, saya menulisnya sebagai cat /sys/class/net/wl*/address
upaya naif untuk membuatnya menghemat untuk "nama antarmuka jaringan yang dapat diprediksi" yang akan datang.
ifconfig wlan0
Pada akhir baris pertama harus alamat perangkat keras alias MAC.