ip 명령을 사용하여 DNS 이름을 기반으로 장치 세부정보를 찾습니다.

ip 명령을 사용하여 DNS 이름을 기반으로 장치 세부정보를 찾습니다.

장치의 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

관련 정보