명령 줄 도메인 이름 조회 (DNS)의 기본 방법은 무엇입니까?


11

도메인 주소를 조회하기 위해 어떤 명령 행 명령을 사용합니까?

nslookup 및 dig에 대한 매뉴얼 페이지를 볼 때 이러한 유틸리티가 이름을 찾는 Mac OS 방법을 사용하지 않는다는 섹션을 볼 수 있습니다.

어떤 명령을 실행해야합니까?

답변:


25

nslookup, host그리고 digOS X의 완벽한 DNS 쿼리 도구이지만 모두 OS X의 내부 해상도 시스템을 거치지 않고 DNS를 직접 쿼리합니다. 결과적으로 / etc / hosts 파일을 확인하거나 Bonjour / mDNS 이름 (.local로 끝나는 이름)을 확인하지 않습니다. 해상도를 테스트하는 표준 (빠른 방법) 방법은을 사용 ping하는 것입니다. Ping을 시도하기 전에 일반적인 시스템을 통해 제공 한 주소를 확인하기 때문입니다. 목적을 위해 무언가를 원한다면 dscacheutil대신 사용하십시오.

$ dscacheutil -q host -a name www.apple.com
name: e3191.c.akamaiedge.net
alias: www.apple.com www.isg-apple.com.akadns.net www.apple.com.edgekey.net 
ip_address: 184.24.141.15

$ ping www.apple.com
PING e3191.c.akamaiedge.net (184.24.141.15): 56 data bytes
64 bytes from 184.24.141.15: icmp_seq=0 ttl=57 time=57.258 ms
^C
--- e3191.c.akamaiedge.net ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 57.258/57.258/57.258/0.000 ms

명성. 맨 페이지가 더 명확해야한다는 레이더를 제출했습니다 : openradar.me/radar?id=5038477976535040
Sören Kuklau

조회에 dscacheutil을 사용할 때의 한 가지 문제점은 호스트 이름을 확인할 수 없으면 호스트와 같이 0이 아닌 리턴 코드로 종료되지 않는다는 것입니다.
gurple 2019

유용한 리턴 코드의 부족을 극복하기 위해 표준 'host'명령을 보완하는 가장 기본적인 쉘 스크립트를 작성했습니다. #!/usr/bin/env bash STAT=1 LOOKUPRESULT="$(dscacheutil -q host -a name "$1")" if [ -z "$LOOKUPRESULT" ] ; then exit "$STAT" else echo "$LOOKUPRESULT" STAT=0 exit "$STAT" fi
gurple

4

두 명령 모두 제대로 작동합니다. OS X의 방법을 사용하지 않는다고해서 작동하지 않는다는 의미는 아닙니다. "OS X 방법"을 사용하려면 네트워크 유틸리티를 권장 할 수 있습니까?

여기에 이미지 설명을 입력하십시오

이것은 여전히 ​​whois를 호출하고 창에 표시 할 수 있습니다.


.local주소에 대해서는 작동 하지 않는 것 같습니다.
Piotr Findeisen

아니요, .local 주소에서는 작동하지 않습니다. 이것은 공용 whois 서버를 사용하며 .local 주소는 게시되지 않습니다.
Everett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.