Linux
使用 ip 命令根據 dns 名稱查找設備的詳細資訊
當我檢索設備的 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