जवाबों:
निम्नलिखित एक बैश स्क्रिप्ट का एक टुकड़ा है जिसका उपयोग मैं ईथरनेट के मैक को निर्धारित करने के लिए करता हूं, या यदि यह वाईफाई के लिए मौजूद नहीं है (पाई जीरो डब्ल्यू के लिए)।
यह ifconfig
आवंटित आईपी का पता लगाने की किसी अन्य विधि पर निर्भर नहीं करता है , और बस नेटवर्किंग हार्डवेयर का पता लगाने के लिए सिस्टम की आवश्यकता होती है।
यह जेसी, स्ट्रेच या बस्टर के लिए काम करता है
# 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
मूल रूप से आप MAC=$(cat /sys/class/net/wlan0/address)
Pi3 या Pi Zero W पर मैक इनबिल्ट वाईफाई का उपयोग कर सकते हैं ।
MAC=$(cat /sys/class/net/wlx*/address)
स्ट्रेच पर वाईफाई डोंगल पर काम करना चाहिए, लेकिन आप आसानी से वाईफाई और ईथरनेट दोनों के लिए जेसी या स्ट्रेच पर काम करने के लिए उपरोक्त को अनुकूलित कर सकते हैं।
/sys/class/net
?
टर्मिनल / कंसोल में दर्ज करें ifconfig wlan0
। पहली पंक्ति के अंत में हार्डवेयर एड्रेस उर्फ मैक होना चाहिए।
यहाँ एक नमूना आउटपुट (जर्मन लोकेल):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfig
आगे बढ़ने वाला एक अच्छा विकल्प है।
कई distros की जगह ifconfig
के साथ ip
तो मैं के उपयोग को हतोत्साहित करेगा ifconfig
।
Wlan0 इंटरफ़ेस दिखाने के लिए:
ip link show wlan0
या
cat /sys/class/net/wlan0/address
ifconfig
अभी भी कई सालों तक उपलब्ध रहेगा। इसे हटाने से काफी पुरानी स्क्रिप्ट्स को तोड़ते हुए औसतन 800 kB की बचत होगी।
ip link show
संभवतः से अधिक उपयुक्त है ip addr show
।
ifconfig
डिफ़ॉल्ट रूप से नहीं लगता है, रास्पियन स्ट्रेच के पास है। मैं ip
अधिक पसंद करता हूं ifconfig
, हालांकि मुझे लगता है कि बॉब यह कहने में सही है कि इस संदर्भ में link
शायद अधिक उपयुक्त है addr
। हालांकि, मैं इसके लिए जो उपाय करता था, वह इसे पढ़ना था /sys/class/net/wlan0/address
- कोई अतिरिक्त पार्सिंग आवश्यक नहीं। इसके अतिरिक्त, मैं इसे cat /sys/class/net/wl*/address
आने वाले "प्रेडिक्टेबल नेटवर्क इंटरफ़ेस नामों" के लिए सहेजने के लिए एक भोले प्रयास के रूप में लिखता हूं ।
ifconfig wlan0
पहली पंक्ति के अंत में हार्डवेयर पता उर्फ मैक होना चाहिए।