본문 바로가기
Tech Notes/Network & DNS

nslookup 을 이용한 DNS 쿼리 사용법

by gbmin 2023. 7. 12.

웹이나 메일과 같은 인터넷 서비스를 사용할 때는 도메인에 의존한다. 도메인은 DNS를 통해 아이피가 부여되고 접속자는 DNS에 설정된 아이피를 확인하여 목적지 서버의 경로를 찾아 서비스를 이용한다. 도메인에 어떤 아이피와 레코드가 설정되어 있는지 알아내는 방법은 DNS 질의 도구를 이용할 수 있는데 윈도에서 기본 사용이 가능한 nslookup이라는 커맨드가 있다. nslookup은 기본 사용 방법 만으로도 충분히 그 역할을 다할 수 있지만 일반적으로 잘 사용되지 않는 많은 기능들도 있다. 이 글을 통하여 nslookup 사용 방법과 DNS에 설정된 레코드를 질의하는 방법을 정리하였다.


[목차]

1. nslookup 이란?

2. nslookup 기본 사용법

3. nslookup 주요 옵션

4. nslookup 예제


1. nslookup 이란?

nslookup 은 도메인 네임 시스템에 대한 진단을 할 수 있는 정보를 질의를 통해 표기해 준다. 명령프롬프트를 이용하여 사용하며 대화형과 비대화형 모드가 있다 대화형 모드는 개인적으로 사용하는 게 불편하다 비대화형으로 질의하여 직관적으로 결과를 즉시 응답받는 것을 선호한다 이글에 작성된 예제는 비대화명 모드 위주로 작성하였다. 또한 DNS 질의 도구를 이용하기 전에 DNS에 대한 기본적인 개념을 알고 있다면 많은 도움이 될 것이다.

 

도메인과 DNS의 동작 원리: 라우팅 과정의 개념 이해

인터넷에 연결된 모든 PC와 휴대폰, 태블릿, 프린터, 심지어 가전제품까지.. 인터넷에 연결된 모든 것들은 저마다 아이피를 하나씩 가졌다. 이와 같은 기기들로 어떤 서버에 접속해서 정보를 보

gbminnote.com

 

 

2. nslookup 기본 사용법

C:\>nslookup gbminnote.com
서버:    kns.kornet.net       # 현재 이 pc는 KT 망을 사용중이라 IPS 업체인
Address:  168.126.63.1        # KT DNS로 응답 했다.

권한 없는 응답:
이름:    gbminnote.com   # gbminnote.com 도메인의 목적지 아이피인 
Address:  27.0.236.139   # 티스토리 블로그 2차 도메인 설정용 아이피이다.

 

 

3. nslookup 주요 옵션

옵션 설명
-type 질의할 레코드 유형을 지정한다. 예: -type=a, -type=mx
-debug 디버그 정보를 출력한다. DNS 질의 과정의 세부 사항을 보여준다.
-timeout 질의에 대한 대기 시간(초)을 지정한다. DNS가 응답하지 않을 경우, 설정 시간 초과 시 실패된다.
-retry 실패한 질의를 재시도하는 횟수를 지정한다.
-port 질의를 보낼 대상 DNS 서버의 포트 번호를 지정한다.(기본포트 53번)
-server 질의를 보낼 대상 DNS 서버를 지정한다.

 

 

4. nslookup 예제

A 레코드 질의

C:\>nslookup -type=a gbminnote.com
서버: kns.kornet.net
Address: 168.126.63.1

권한 없는 응답:
이름: gbminnote.com
Address: 27.0.236.139

 

CNAME 레코드 질의

C:\>nslookup -type=CNAME host.tistory.io
서버: kns.kornet.net
Address: 168.126.63.1

권한 없는 응답:
host.tistory.io canonical name = blog-tistory-l51ybqnn.kgslb.com

 

SOA 레코드 질의

C:\>nslookup -type=soa gbminnote.com
서버: kns.kornet.net
Address: 168.126.63.1

권한 없는 응답:
gbminnote.com
primary name server = gerald.ns.cloudflare.com
responsible mail addr = dns.cloudflare.com
serial = 2313838799
refresh = 10000 (2 hours 46 mins 40 secs)
retry = 2400 (40 mins)
expire = 604800 (7 days)
default TTL = 1800 (30 mins)

 

TXT 레코드 질의

C:\>nslookup -type=txt gbminnote.com
서버: kns.kornet.net
Address: 168.126.63.1

권한 없는 응답:
gbminnote.com text =

"google-site-verification=CP9TX0cbjR7fRFr5MYoBWNqSDW6RcwX7BV0xg0YIjGM"
gbminnote.com text =

"v=spf1 ip4:211.37.179.216 ~all"

 

특정 DNS에 질의하는 방법

C:\>nslookup -type=a gbminnote.com 8.8.8.8
서버: dns.google
Address: 8.8.8.8

권한 없는 응답:
이름: gbminnote.com
Address: 27.0.236.139


이와 같이 다양한 레코드를 질의할 수 있으며 특정 외부 DNS에서 내 도메인을 어떻게 응답하는지도 확인이 가능하다.
설정된 DNS 레코드와 응답하는 결과 값이 다르다면 DNS 설정 값을 확인하고 그 원인을 찾아가면 된다.

 

참고사이트 : https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/nslookup

 

nslookup

Reference article for the nslookup command, which displays information that you can use to diagnose Domain Name System (DNS) infrastructure.

learn.microsoft.com