Поиск сведений об устройстве на основе имени DNS с помощью команды ip

Когда я получаю MAC-адрес устройства Я выполняю следующую команду

$ arp <dnsname> | grep "HWaddress" -A1 | awk '{print $1 "" $3}' |head -2 | tail -1

, это, вероятно, напечатает

<dnsname> <mac address> 

. Как я видел из руководства по arp, он устарел, и я могу использовать команду 'ip' вместо arp.

0
24.11.2018, 22:41
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
1
28.01.2020, 02:45

Теги

Похожие вопросы