जवाबों:
निम्नलिखित एक बैश स्क्रिप्ट का एक टुकड़ा है जिसका उपयोग मैं ईथरनेट के मैक को निर्धारित करने के लिए करता हूं, या यदि यह वाईफाई के लिए मौजूद नहीं है (पाई जीरो डब्ल्यू के लिए)।
यह 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पहली पंक्ति के अंत में हार्डवेयर पता उर्फ मैक होना चाहिए।