Cara terbaik untuk mendapatkan MAC eth0?

20

Apakah ada cara yang lebih efisien untuk mengambil alamat MAC NIC di Linux?

Ini bekerja:

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

tetapi dapat ditemukan melalui sesuatu seperti:

cat /sys/net/something
brodul
sumber

Jawaban:

27

Itu ada di /sys/class/net/eth0/address(atau lebih tepatnya di /sys/devices/pciXXXX:XX/XXXX/net/eth0/addressmana XXX adalah ID bus PCI Anda, tetapi ini bervariasi antara sistem).

(Kebetulan, saya menemukan ini dengan find /sys -name eth0dan melihat file di direktori yang diidentifikasi.)

Zanchey
sumber
4

Ini juga tersedia melalui ifconfig:

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

Atau jika Anda hanya menginginkan alamat MAC:

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

sumber
2
Nah, Anda masih harus awk atau memotongnya. Karena mac ada di ujung baris.
brodul
3

jika Anda dapat menginstal moreutilspaket, ada ifdataalat. Deskripsi mengatakan:

ifdata: dapatkan info antarmuka jaringan tanpa menguraikan output ifconfig

Ini sebuah contoh:

me@box:~$ ifdata -ph eth0
00:21:86:61:35:44
Michał Šrajer
sumber