当我获取设备的mac地址时,我执行以下命令
$ arp <dnsname> | grep "HWaddress" -A1 | awk '{print $1 "" $3}' |head -2 | tail -1
这可能会打印
<dnsname> <mac address>
正如我从arp手册中看到的那样,它已被弃用,而替代方案是使用'ip'命令而不是arp。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句