Programing

도메인 이름에 대한 권한이있는 이름 서버는 어떻게 찾습니까?

lottogame 2020. 3. 14. 10:02
반응형

도메인 이름에 대한 권한이있는 이름 서버는 어떻게 찾습니까?


충돌하는 DNS 레코드의 출처를 어떻게 찾을 수 있습니까?


주어진 도메인 이름에 대한 SOA (권한 시작) 레코드가 필요하며, 이것이 보편적으로 사용 가능한 nslookup 명령 줄 도구를 사용하여이를 달성하는 방법입니다 .

command line> nslookup
> set querytype=soa
> stackoverflow.com
Server:         217.30.180.230
Address:        217.30.180.230#53

Non-authoritative answer:
stackoverflow.com
        origin = ns51.domaincontrol.com # ("primary name server" on Windows)
        mail addr = dns.jomax.net       # ("responsible mail addr" on Windows)
        serial = 2008041300
        refresh = 28800
        retry = 7200
        expire = 604800
        minimum = 86400
Authoritative answers can be found from:
stackoverflow.com       nameserver = ns52.domaincontrol.com.
stackoverflow.com       nameserver = ns51.domaincontrol.com.

기원 (또는 주 이름 서버 라인 Windows에서)이 있음을 알려줍니다 ns51.domaincontrol가 의 주요 이름 서버입니다 stackoverflow.com .

출력이 끝나면 지정된 도메인의 백업 서버를 포함한 모든 권한이있는 서버가 나열됩니다.


귀하의 질문에 단수를 사용했지만 일반적으로 신뢰할 수있는 여러 네임 서버가 있으며 RFC 1034는 적어도 두 가지를 권장합니다.

"정식 이름 서버"가 아니라 "기본 이름 서버"를 의미하지 않는 한. 보조 이름 서버 권한이 있습니다.

Unix에서 도메인의 네임 서버를 찾으려면 :

  % dig +short NS stackoverflow.com
 ns52.domaincontrol.com.
 ns51.domaincontrol.com.

주 서버로 나열된 서버를 찾으려면 ( "주"개념은 요즘 꽤 애매하고 일반적으로 좋은 대답이 없습니다) :

% dig +short  SOA stackoverflow.com | cut -d' ' -f1
ns51.domaincontrol.com.

네임 서버 간의 불일치를 확인하기 위해 check_soaLiu & Albitz "DNS & BIND"책 (O'Reilly editor)에 설명 된대로 이전 도구 를 선호 합니다. 소스 코드는 http://examples.oreilly.com/dns5/ 에 있습니다 .

% check_soa stackoverflow.com
ns51.domaincontrol.com has serial number 2008041300
ns52.domaincontrol.com has serial number 2008041300

여기에서 두 정식 이름 서버는 동일한 일련 번호를 갖습니다. 좋은.


* nix에서 :

$ dig -t ns <domain name>

나는이 DNS 전파 도구 질문에 이런 종류의 답변을 설계합니다.

소스는 AGPLv3에 따라 릴리스됩니다.

(예, 인터페이스는 현재 다소 기본적입니다.)

"host"명령을 사용하여 도메인의 네임 서버를 찾을 수도 있습니다.

[davidp @ supernova : ~] $ 호스트 -t ns stackoverflow.com
stackoverflow.com 이름 서버 ns51.domaincontrol.com.
stackoverflow.com 이름 서버 ns52.domaincontrol.com.

항상 + trace 옵션을 추가하는 가장 좋은 방법은 다음과 같습니다.

dig SOA +trace stackoverflow.com

다른 공급자에서 호스팅되는 재귀 CNAME 과도 작동합니다. + 추적 추적은 + norecurse를 의미하므로 결과는 지정한 도메인에만 해당됩니다.


인터넷 검색 용어는 "정의 적"이 아니라 "권한"입니다.

리눅스 또는 Mac에서 당신은 명령을 사용할 수 있습니다 whois, dig, host, nslookup또는 여러 다른 사람을. nslookupWindows에서도 작동 할 수 있습니다.

예를 들면 :

$ whois stackoverflow.com
[...]
   Domain servers in listed order:
      NS51.DOMAINCONTROL.COM
      NS52.DOMAINCONTROL.COM

추가 크레딧에 관해서는 가능합니다.


그의 제안은 일반적으로 호스트 이름의 IP 주소 만 제공하므로 aryeh는 분명히 잘못되었습니다. 를 사용하는 경우 다음 dig과 같이 NS 레코드를 찾아야합니다.

dig ns stackoverflow.com

이것은 로컬 DNS 서버를 요구할 수 있으며 따라서 캐시에있는 잘못되거나 오래된 답변을 줄 수 있습니다.


한 번의 요청으로 도메인의 신뢰할 수있는 네임 서버 와 일반적인 DNS 레코드 를 제공 하는 DNS 조회 도구구축했습니다 .

예 : https://www.misk.com/tools/#dns/stackoverflow.com

Google의 도구는 루트 네임 서버에서 실시간 (미치의) DNS 조회를 수행 한 후 권위있는 네임 서버에 도달 할 때까지 네임 서버 조회를 수행하여 권위있는 네임 서버를 찾습니다. 이는 dns 확인자가 정식 답변을 얻는 데 사용하는 것과 동일한 논리입니다. 임의의 신뢰할 수있는 네임 서버가 각 쿼리에서 선택되고 식별되어 여러 요청을 수행하여 충돌하는 DNS 레코드를 찾을 수 있습니다.

위 예제에서 dns 조회 결과의 맨 아래에있는 "Authoritative Nameservers"를 클릭하여 네임 서버 위임 경로를 볼 수도 있습니다.

예 : https://www.misk.com/tools/#dns/stackoverflow.com@f.root-servers.net


후이즈 서비스를 사용할 수 있습니다. UNIX와 같은 운영 체제에서는 다음 명령을 실행합니다. 또는 웹 ( http://www.internic.net/whois.html) 에서이를 수행 할 수 있습니다 .

후이즈 stackoverflow.com

다음과 같은 응답이 나타납니다.

... 여기에서 텍스트가 제거되었습니다 ...

나열된 순서의 도메인 서버 : NS51.DOMAINCONTROL.COM NS52.DOMAINCONTROL.COM

nslookup 또는 dig를 사용하여 지정된 도메인의 레코드에 대한 자세한 정보를 찾을 수 있습니다. 이것은 설명 된 충돌을 해결하는 데 도움이 될 수 있습니다.


불행히도 이러한 도구의 대부분은 실제 이름 서버 자체에서 제공 한 NS 레코드 만 반환합니다. 실제로 도메인을 담당하는 이름 서버를보다 정확하게 결정하려면 "whois"를 사용하고 여기에 나열된 도메인을 확인하거나 "dig [domain] NS @ [root name server]"를 사용하여 해당 도메인을 실행해야합니다. 이름 서버 목록을 얻을 때까지 재귀 적으로 ...

이름 서버 자체에서 제공되는 결과뿐만 아니라 신뢰할 수 있고 일관된 형식으로 결과를 얻기 위해 실행할 수있는 간단한 명령 행이 있었으면합니다. 나를 위해 이것의 목적은 내가 관리하는 약 330 개의 도메인 이름을 쿼리 할 수 ​​있도록하여 각 도메인이 어떤 이름 서버를 가리키는 지 (등록자 설정에 따라) 정확히 확인할 수 있습니다.

"dig"또는 "host"또는 * nix에서 다른 것을 사용하는 명령을 아는 사람이 있습니까?


SOA 레코드는 모든 서버에 계층 구조를 넘어서서 도메인 소유자가 제어 할 수 없으며 도메인 소유자가 제어하는 ​​하나의 권한있는 이름 서버를 가리 킵니다.

반면 권한 서버 자체의 SOA 레코드는 해당 도메인을 해결하는 데 반드시 필요하지는 않으며 가짜 정보 (또는 숨겨진 기본 서버 또는 다른 제한된 서버)를 포함 할 수 있으며 권한 이름 서버를 결정하기 위해 의존해서는 안됩니다. 주어진 도메인에 대해

주어진 하위 도메인에 대한 안정적인 SOA 정보를 얻으려면 최상위 도메인대해 권한이있는 서버를 쿼리해야 합니다.

(루트 이름 서버에서 TLD를 조회 할 수있는 권한이있는 서버에 대한 정보)

TLD 신뢰할 수있는 서버에서 SOA에 대한 신뢰할 수있는 정보가있는 경우 다른 NS 레코드에 대해 기본 이름 서버 자체 (gTLD 이름 서버의 SOA 레코드에있는 것)를 쿼리 한 후 모두 확인을 진행할 수 있습니다. NS 레코드를 쿼리하여 얻은 해당 네임 서버는 해당 서버에 다른 특정 레코드와 일치하지 않는지 확인합니다.

이 모든 것이 nslookup / windows보다 Linux 및 dig에서 훨씬 우수하고 안정적으로 작동합니다.


쉬운 방법은 온라인 도메인 도구를 사용하는 것입니다. 내가 가장 좋아하는 것은 Domain Tools (이전의 whois.sc)입니다. 그래도 충돌하는 DNS 레코드를 해결할 수 있는지 확실하지 않습니다. 예를 들어 stackoverflow.com의 DNS 서버는

  NS51.DOMAINCONTROL.COM
  NS52.DOMAINCONTROL.COM

참고 URL : https://stackoverflow.com/questions/38021/how-do-i-find-the-authoritative-name-server-for-a-domain-name

반응형