ฉันจะหาที่อยู่ MAC ของอินเตอร์เฟซ Wi-Fi ได้อย่างไร


10

ฉันต้องการตรวจสอบ MAC-address ของอินเตอร์เฟส Wi-Fi ของฉันบน Raspberry Pi ZW ที่รัน Raspbian Lite

มีคำสั่งที่ฉันสามารถเรียกใช้เพื่อบอกฉันนี้หรือไม่? มีอุปกรณ์ใน/procต้นไม้ที่จะเปิดเผยหรือไม่


1
ป้อนในเทอร์มินัลifconfig wlan0ในตอนท้ายของบรรทัดแรกควรเป็นที่อยู่ฮาร์ดแวร์ aka MAC
LotPings

2
@LotPings คุณสามารถตอบได้!
joan

คำตอบ:


9

ต่อไปนี้เป็นส่วนของสคริปต์ทุบตีที่ฉันใช้เพื่อตรวจสอบ MAC ของอีเธอร์เน็ตหรือหากไม่มี WiFi (สำหรับ Pi Zero W)

มันไม่ได้พึ่งพาifconfigหรือวิธีการอื่น ๆ ในการตรวจสอบ IP ที่จัดสรรและเพียงแค่ต้องการให้ระบบตรวจจับฮาร์ดแวร์เครือข่าย

สิ่งนี้ใช้ได้กับ Jessie, Stretch หรือ 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

โดยทั่วไปคุณสามารถใช้MAC=$(cat /sys/class/net/wlan0/address)เพื่อค้นหา MAC ของ inbuilt WiFi บน Pi3 หรือ Pi Zero W.

MAC=$(cat /sys/class/net/wlx*/address) ควรทำงานกับ WiFi dongles บน Stretch แต่คุณสามารถปรับตัวด้านบนเพื่อทำงานกับทั้ง Jessie หรือ Stretch สำหรับ WiFi และ Ethernet


คำตอบที่ดีมาก ขอบคุณ! Raspbian Stretch ใช้ชื่อเครือข่ายที่คาดการณ์ได้หรือไม่? พวกมันมีผลต่อการตั้งชื่อโครงสร้าง/sys/class/netหรือไม่?
Bex

1
@Bex มันขึ้นอยู่กับ; การติดตั้งใหม่ใช้ชื่ออินเทอร์เฟซเครือข่ายที่คาดการณ์ได้โดยค่าเริ่มต้นฉันไม่รู้เกี่ยวกับการอัพเกรด มันง่ายในการกู้คืนพฤติกรรมเดิมดูฉันจะตั้งค่าเครือข่าย / WiFi / คงที่ IPสำหรับรายละเอียด ชื่อใดก็ตามที่ถูกเลือกโดยกระบวนการแจงนับฮาร์ดแวร์ควรแสดง มีหลายวิธีในการแก้ไขกระบวนการนี้
Milliways

10

ใส่ใน terminal / console ifconfig wlan0ในตอนท้ายของบรรทัดแรกควรเป็นที่อยู่ฮาร์ดแวร์ aka MAC

นี่คือตัวอย่างผลลัพธ์ (ภาษาเยอรมัน):

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

ฉันตอบคำถามนี้แล้ว แต่ฉันไม่คิดว่าifconfigจะเป็นทางเลือกที่ดีในอนาคต
Bex

1
ตกลงโชคดีที่มีสองทางเลือก
LotPings

7

distros หลายคนจะถูกแทนที่ifconfigด้วยดังนั้นฉันจะกีดกันการใช้งานของipifconfig

ในการแสดงอินเตอร์เฟส wlan0:

ip link show wlan0

หรือ

cat /sys/class/net/wlan0/address

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


ฉันค่อนข้างแน่ใจว่าifconfigจะยังคงมีอยู่เป็นเวลาหลายปี การลบมันจะช่วยประหยัด 800 กิโลไบต์ซึ่งทำลายสคริปต์เก่า ๆ ได้มาก
Dmitry Grigoryev

ปัญหาคือคนนั้นต้องการเงินเดือน
Dmitry Grigoryev

1
หากต้องการใช้คำสั่งที่เลิกใช้ในการใช้งานใหม่อย่างต่อเนื่อง ฉันเคยเห็นสิ่งนี้ในสถานการณ์ที่เกี่ยวข้องกับการทำงานและมันก็เหมือนกับการผลักดันปัญหาต่อหน้าคุณและในเวลาหนึ่งมันก็จะยิ่งใหญ่ขึ้น! เริ่มจัดการกับมันแทน!
MatsK

2
ในกรณีนี้น่าจะเหมาะสมกว่าip link show ip addr show
บ๊อบ

1
ในระบบเดสก์ท็อปของฉันฉันเรียกใช้ Debian Stretch ซึ่งดูเหมือนจะไม่มีifconfigค่าเริ่มต้นอีกต่อไป Raspbian Stretch ดูเหมือนจะมีอยู่ ฉันชอบipมากกว่าifconfigแม้ว่าฉันคิดว่าบ๊อบพูดlinkถูกว่าเหมาะสมกว่าaddrในบริบทนี้ วิธีแก้ปัญหาที่ฉันทำไปคือการอ่านจาก/sys/class/net/wlan0/address- ไม่จำเป็นต้องแยกวิเคราะห์เพิ่มเติม นอกจากนี้ฉันเขียนมันcat /sys/class/net/wl*/addressในความพยายามที่ไร้เดียงสาเพื่อให้ประหยัดสำหรับ "ชื่อเครือข่ายอินเทอร์เฟซที่คาดเดาได้" ที่กำลังจะมาถึง
Bex
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.