Linux / 명령어 / nslookup - DNS 이름과 레코드 조회
nslookup은 DNS 서버에 도메인이나 IP 주소를 질의합니다. 간단한 조회와 대화형 질의를 지원하지만 자세한 DNS 응답 분석에는 dig가 더 명확할 때가 많습니다.
nslookup 명령어란?
이름을 인수로 주면 비대화형으로 결과를 출력하고, 인수 없이 실행하면 대화형 모드에 들어갑니다. 기본 서버는 시스템 설정을 따르며 마지막 인수로 다른 DNS 서버를 지정할 수 있습니다. Non-authoritative answer는 캐시된 응답을 뜻할 수 있으며 곧바로 오류는 아닙니다.
기본 문법
nslookup [옵션] [이름|IP] [DNS서버]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man nslookup으로 현재 시스템의 설명을 확인하세요.
사용 예제
도메인 주소 조회
설정된 DNS 서버에서 주소를 질의합니다.
nslookup example.com
레코드 종류 지정
메일 서버를 나타내는 MX 레코드를 확인합니다.
nslookup -type=MX example.com
역방향 DNS 조회
IP 주소의 PTR 레코드가 등록돼 있는지 봅니다.
nslookup 192.0.2.1
어느 DNS 서버가 답했는지 확인하기
nslookup은 기본 DNS 서버에 이름을 질의합니다. 결과에는 사용한 서버와 응답 주소가 함께 표시될 수 있습니다.
nslookup example.com
출력 구조의 예시(주소는 설명용 값):
Server: 192.0.2.53 Name: example.com Address: 192.0.2.10
답변의 Address와 질의에 사용한 Server 주소를 혼동하지 마세요. 동일한 이름도 DNS 서버·캐시·시점에 따라 다른 값을 반환할 수 있습니다. 레코드 유형과 TTL까지 자세히 비교해야 하면 dig가 더 적합합니다.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-type=형식 |
A·AAAA·MX·TXT 같은 레코드 형식을 선택합니다. |
-query=형식 |
질의 레코드 형식을 지정하는 별칭입니다. |
-timeout=초 |
DNS 서버 응답 대기 시간을 조정합니다. |
마지막 서버 인수 |
기본값 대신 특정 DNS 서버로 질의합니다. |
인수 없음 |
대화형 모드로 들어갑니다. |
사용할 때 주의할 점
DNS 응답이 없다고 네트워크 연결까지 실패했다고 단정하지 마세요. 사용하는 서버와 레코드 형식, 캐시 상태를 확인합니다. nslookup은 시스템의 /etc/hosts 처리나 응용 프로그램의 모든 이름 해석 경로를 그대로 재현하지 않습니다.
자주 묻는 질문
nslookup에서 대화형 모드를 끝내려면?
프롬프트에서 exit를 입력하거나 Ctrl+D로 종료할 수 있습니다.
공식 문서
옵션의 정확한 동작과 구현별 차이는 nslookup 관련 공식 문서에서 확인할 수 있습니다.









