วิธีที่ดีที่สุดในการรับ MAC ของ eth0


20

มีวิธีที่มีประสิทธิภาพมากกว่าในการดึงที่อยู่ MAC ของ NIC ใน Linux หรือไม่

งานนี้:

ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'

แต่สามารถพบได้ผ่านสิ่งที่ชอบ:

cat /sys/net/something

คำตอบ:


27

อยู่ที่/sys/class/net/eth0/address(หรือแม่นยำกว่า/sys/devices/pciXXXX:XX/XXXX/net/eth0/addressโดยที่ XXX เป็น ID บัส PCI ของคุณ แต่สิ่งนี้จะแตกต่างกันระหว่างระบบ)

(บังเอิญฉันพบสิ่งนี้ด้วยfind /sys -name eth0และดูไฟล์ในไดเรกทอรีที่ระบุ)


4

มันยังมีให้ผ่านifconfig:

kce@thinkpad:~$ /sbin/ifconfig eth0 |grep HWaddr
eth0      Link encap:Ethernet  HWaddr 00:1e:37:cc:ce:cc  

หรือถ้าคุณต้องการแค่ที่อยู่ MAC:

kce@thinkpad:~$ /sbin/ifconfig eth0 |awk '/HWaddr/{print $5}'
00:1e:37:cc:ce:cc

2
ดีคุณยังคงต้องตกใจหรือตัดมัน เพราะแม็คอยู่ที่ท้ายบรรทัด
brodul

3

หากคุณสามารถติดตั้งmoreutilsแพ็คเกจมีifdataเครื่องมือ คำอธิบายพูดว่า:

ifdata: รับข้อมูลอินเตอร์เฟสเครือข่ายโดยไม่ต้องวิเคราะห์เอาต์พุต ifconfig

นี่คือตัวอย่าง:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.