2014-10-20 2 views
1

DNS를 이해하기위한 지속적인 실험에서 네임 서버가 재귀 쿼리를 수행하는 방법을 이해하려고합니다. 기본 아이디어를 얻습니다. 최상위 수준의 DNS 서버로 시작한 다음 신뢰할 수있는 네임 서버 목록을 보내면 신뢰할 수있는 응답을 얻을 때까지 해당 서버 등에 연결합니다.수동으로 재귀 DNS 쿼리 수행

소리가 충분히 간단합니다.

그러나 실제로 시도해 볼 때 첫 번째 단계가 끝난 후에 붙어 있습니다. 이 명령 줄 도구를 사용하여 수동으로 수행하고 있습니다. ( 회귀에서 해제해야합니다.)

좋습니다. 1 단계 : 루트 이름 서버로 시작하십시오. 나는 root name servers on Wikipedia 목록에서 임의로 198.41.0.4 (Verisign)을 골랐습니다.

"google.com"해결 요청을 보내드립니다.

그것은 다시 다음 날을 보냅니다

+---------------------------------------------------------------------------+ 
| 47547 | QR: 1 | OP: 00 | AA: 0 | TC: 0 | RD: 1 | RA: 0 | Z: 0 | RCODE: 00 | 
+---------------------------------------------------------------------------+ 
| QDCOUNT:  1, ANCOUNT:  0, NSCOUNT: 13, ARCOUNT: 15  | 
+---------------------------------------------------------------------------+ 

ANSWERS : 0 

AUTHORITIES: 
NS: m.gtld-servers.net 
NS: l.gtld-servers.net 
NS: k.gtld-servers.net 
NS: j.gtld-servers.net 
NS: i.gtld-servers.net 
NS: h.gtld-servers.net 
NS: g.gtld-servers.net 
NS: f.gtld-servers.net 
NS: e.gtld-servers.net 
NS: d.gtld-servers.net 
NS: c.gtld-servers.net 
NS: b.gtld-servers.net 
NS: a.gtld-servers.net 

ADDITIONAL: 
A: 192.55.83.30 
A: 192.41.162.30 
A: 192.52.178.30 
A: 192.48.79.30 
A: 192.43.172.30 
A: 192.54.112.30 
A: 192.42.93.30 
A: 192.35.51.30 
A: 192.12.94.30 
A: 192.31.80.30 
A: 192.26.92.30 
A: 192.33.14.30 
AAAA: 2001:0503:231d:0000:0000:0000:0002:0030 
A: 192.5.6.30 
AAAA: 2001:0503:a83e:0000:0000:0000:0002:0030 

좋아, 그래서 모든 추가 레코드의 지점이 무엇인지 확실하지 않다 - 그들은 모두 LAN 그래서 나도 몰라 주소를 현지로 표시 그들이 나에게 무엇을 사용하고 있는지. 그러나 어쨌든 권위 섹션에서 반환 된 결과를 살펴보면 다른 네임 서버 목록을 볼 수 있습니다. 좋아요, 다음 단계는 반환 된 네임 서버 중 하나를 선택하고 IP를 가져와야한다는 것입니다. 그래서 a.gtld-servers.net을 해결하라는 요청을하고 ...

... 정확히 같은 이름 서버 목록을 반환합니다.

그래서 ... 여기 어떻게 진행해야할지 모르겠습니다. 궁극적으로 "google.com"의 신뢰할 수있는 이름 서버에 어떻게 도달합니까?

편집 :

좋아, 그래서 그 192 주소 내가 잘못 가정으로 LAN이 주소 아니지만, 다른 네임 서버입니다 나타납니다. 나는 권한에 더 가까이 가기 위해 그 네임 서버에 연락 할 수 있다고 가정하고 있습니다. 그러나 이러한 이름 서버를 사용하는 방법을 어떻게 알 수 있습니까? 나는 ARCOUNT 섹션이 추가 정보만을위한 것이라고 생각했습니다 ... 왜 모든 네임 서버가 응답이나 권한 대신 ADDITIONAL 섹션에 배치 되었습니까? 다른 네임 서버로의 참조가 ADDITIONAL 섹션에 들어가는 관례일까요?

+0

이 질문은 일반적인 DNS 질문이며 프로그래밍 질문이 아니기 때문에 주제가 아닌 것 같습니다. – nos

답변

0

Verisign 서버에 대한 쿼리에 문제가 있습니다. 사용해보기 :

  1. dig @ google.com NS. 이렇게하면 google.com에 대한 U 자용 이름 서버가 제공됩니다.
  2. dig @ www.google.com A. 이렇게하면 google.com 네임 서버에서 www.google.com에 대한 A 레코드를 얻을 수 있습니다.

참고 : google.com 네임 서버가 google.com과 동일한 영역에 있으면 # 1이 아교 레코드를 반환해야합니다. 즉, 네임 서버의 IP 주소도 확인됩니다.