デバイスのMACアドレスを取得すると、次のコマンドを実行します。
$ arp <dnsname> | grep "HWaddress" -A1 | awk '{print $1 "" $3}' |head -2 | tail -1
これは印刷することができます
<dnsname> <mac address>
arpのマニュアルを読んでみると、廃止され、代わりにarpの代わりに 'ip'コマンドを使用することです。
答え1
arp
名前を入力として使用し、出力に名前を印刷する機能。 ip
住所のみを使用してください。
アドレスを処理できる場合は、出力を変更するのが非常に簡単です。
$ ip neigh show to 10.0.0.1
10.0.0.1 dev wlan0 lladdr dc:fb:02:xx:xx:xx REACHABLE
$ ip neigh show to 10.0.0.1 | awk '{print $1 " " $5}'
10.0.0.1 dc:fb:02:xx:xx:xx
あなたのタイトルで具体的にDNS名を要求することを確認しました。これが要件の場合は、スクリプトの名前を翻訳する必要があります。
$ ip neigh show to `getent hosts <dnsname> | awk '{print $1}'` | awk '{print $1 " " $5}'
$ 10.0.0.1 dc:fb:02:xx:xx:xx