Encontre detalhes do dispositivo com base no nome do dns usando o comando ip

0

Quando estou recuperando o endereço mac de um dispositivo Eu executo o seguinte comando

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

isso provavelmente será impresso

<dnsname> <mac address> 

Como eu vi no manual do arp é que ele está obsoleto e alternativo que eu tenho é usar o comando 'ip' em vez de arp.

    
por Harish Barma 20.09.2017 / 17:15

1 resposta

1

arp é capaz de obter nomes como entrada e imprimir nomes na saída. ip usa apenas endereços.

Se você puder lidar com endereços, modificar a saída será bem fácil.

$ 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

Acabei de notar que o seu título pergunta especificamente sobre nomes DNS. Se esse é o requisito, convém traduzir o nome em seu script.

$ ip neigh show to 'getent hosts <dnsname> | awk '{print $1}'' | awk '{print $1 " " $5}'
$ 10.0.0.1 dc:fb:02:xx:xx:xx
    
por 20.09.2017 / 23:59

Tags