eth0のMACを取得する最良の方法は?


20

LinuxでNICのMACアドレスを取得するより効率的な方法はありますか?

これは動作します:

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がPCIバスIDですが、これはシステムによって異なります)です。

(ちなみに、私はこれを見つけ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
まあ、あなたはまだそれをawkするか、カットする必要があります。Macは行末にあるからです。
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.