มีวิธีที่มีประสิทธิภาพมากกว่าในการดึงที่อยู่ MAC ของ NIC ใน Linux หรือไม่
งานนี้:
ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'
แต่สามารถพบได้ผ่านสิ่งที่ชอบ:
cat /sys/net/something
มีวิธีที่มีประสิทธิภาพมากกว่าในการดึงที่อยู่ MAC ของ NIC ใน Linux หรือไม่
งานนี้:
ip link show dev eth0 | awk ' /link\/ether/ { print $2 }'
แต่สามารถพบได้ผ่านสิ่งที่ชอบ:
cat /sys/net/something
คำตอบ:
อยู่ที่/sys/class/net/eth0/address
(หรือแม่นยำกว่า/sys/devices/pciXXXX:XX/XXXX/net/eth0/address
โดยที่ XXX เป็น ID บัส PCI ของคุณ แต่สิ่งนี้จะแตกต่างกันระหว่างระบบ)
(บังเอิญฉันพบสิ่งนี้ด้วยfind /sys -name eth0
และดูไฟล์ในไดเรกทอรีที่ระบุ)
มันยังมีให้ผ่าน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
หากคุณสามารถติดตั้งmoreutils
แพ็คเกจมีifdata
เครื่องมือ คำอธิบายพูดว่า:
ifdata: รับข้อมูลอินเตอร์เฟสเครือข่ายโดยไม่ต้องวิเคราะห์เอาต์พุต ifconfig
นี่คือตัวอย่าง:
me@box:~$ ifdata -ph eth0
00:21:86:61:35:44