네트워크/네트워크

명령어 - nslookup(DNS 서버에 쿼리문 질의)

본클라쓰 2010. 10. 14. 09:44

 

nslookup 명령은 대부분의 DNS(Domain Name System) 구현 환경에서 제공되는 표준 명령줄 도구이다. 이 도구를 사용하면 DNS 서버에 대한 쿼리 테시트를 수행하고 명령 출력으로 자세한 응답을 얻을 수 있다. nsloopup 명령은 DNS 서버에 접속하여 특정한 IP 주소를 가진 컴퓨터의 도메인을 알아낸다거나 도메인 이름으로 IP 주소를 알아내는 기능을 가진 명령어이다. 이 정보는 이름 확인 문제를 해결하고 영역에서 리소스 레코드가 제대로 추가 또는 업데이트되었는지 확인하고 기타 서버 관련 문제를 디버깅하는 데 유용하다.

 

 

 

 

명령어 사용법

 

nslookup [-optoin] [hostname] [server]

 

 

nslookup 명령어는 DNS 서버와 문답형 명령어이기 때문에 명령어 다음에 옵션과 호스트 이름을 작성하여 입력하는 방법과 nslookup 명령어를 실행한 후 DNS 서버에 문답하는 방법 둘 다 사용할 수 있다.

 

 

 

명령어 뒤에 쿼리문 작성 예

 

> nslookup -type=mx daum.net

서버:     kns.kornet.net

Address:  168.126.63.1

 

권한 없는 응답:

daum.net      MX preference = 10, mail exchanger = mx7.hanmail.net

daum.net      MX preference = 10, mail exchanger = mx8.hanmail.net

daum.net      MX preference = 10, mail exchanger = mx9.hanmail.net

...

 

 

 

nslookup 명령어 입력 후 쿼리문 작성 예

 

> nslookup

기본 서버: kns.kornet.net

Address:  168.126.63.2

 

> set type=mx

> daum.net

서버:    kns.kornet.net

Address:   168.126.63.1

 

권한 없는 응답:

daum.net MX preference = 10, mail exchanger = mx7.hanmail.net

daum.net MX preference = 10, mail exchanger = mx8.hanmail.net

daum.net MX preference = 10, mail exchanger = mx9.hanmail.net

...

 

 

 

 

 

 

 

옵션 사용하기

 

 옵션을 사용할 때도 명령어 뒤에 옵션을 붙이는 방법과 nslookup 명령어 실행 후 옵션을 사용하여 질의하는 방법이 있습니다.

 

1. 명령어 뒤에 옵션 붙이기(옵션 앞에 마이너스(-)기호를 사용)

 

2. nslookup 실행 후 옵션을 지정하여 질의

 

type옵션은 'q'로 대체할 수 있습니다. 'type=MX'는 'q=MX'와 같은 옵션입니다. 이 때 type의 값으로 지정할 수 있는 레코드의 종류는 다음과 같습니다.

 

 

레코드의 종류

  • NS : 도메인 네임서버의 정보
  • MX : 도메인의 MX(Mail Exchanger) 서버 정보
  • A : 호스트의 IP 정보
  • CNAME : 별칭으로 부여된 canonical name
  • SOA : 도메인의 start-of-authority 정보
  • HINFO : 호스트의 CPU 정보와 운영체제 정보
  • MINFO : 메일박스와 메일 리스트 정보
  • PTR : IP 주소에 대한 호스트명
  • TXT : 호스트에 대한 텍슽 정보
  • UINFO : 사용자 정보
  • ANY : 호스트에 관련된 모든 레코드 정보

 레코드를 사용하여 질의를 하면 다음과 같은 정보를 출력합니다.

 

 이 값들이 나타내는 정보는 다음과 같습니다.

  • serial : 1차 네임서버의 해당 도메인 ZONE 파일을 변경 및 추가할 때마다 serial 값을 올려주게 됩니다. 그러면 2차 네임서버의 serial 값보다 1차 네임서의 serial 값이 크기 때문에 2차 네임서버에서는 해당 도메인이 변경된 것으로 인식하고 기존의 ZONE 파일을 새로운 ZONE 파일로 업그레이드 합니다.
  • refresh : 2차 네임서버에서는 1차 네임서버의 변경된 값들이 있는가를 주기적으로 체크하게 됩니다. 이 때 체크할 주기를 결정하는 값이 refresh 값입니다.
  • retry : 2차 네임서버에서 1차 네임서버로의 접근이 안될 경우 2차 네임서버는 계속적으로 접근을 시도하는데 이 경우 얼마나 한 번씩 접근을 시도할 것인가를 나타내는 값입니다.
  • expire : 특정 도메인의 정보를 가져오기 위하여 2차 네임서버는 2차 네임서에 연결을 바로 위에서 설정한 retry 주기마다 시도하는데 이 경우 얼마 동안 연결을 시도할 것인가를 나타내는 값입니다.
  • default TTL : 네임서버는 가져온 정보를 다시 질의하지 않고 캐시에 저장된 값으로 계속 서비스를 합니다. 흔히 IP 주소를 변경했을 경우 실시간으로 바뀌지 않고 나중에 바뀐 IP주소를 인식하게 되는 이유가 여기에 있습니다. 이 캐시를 유지하는 기간을 나타냅니다.