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 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux 강좌 / 셸의 명령 실행 방식 - ;, &&, ||, 별칭과 환경 변수

Linux 강좌 / 셸의 명령 실행 방식 - ;, &&, ||, 별칭과 환경 변수

Bash가 명령을 해석하고 종료 상태에 따라 다음 명령을 실행하는 방식을 알아봅니다. ;, &&, ||와 별칭·환경 변수의 차이를 안전한 예제로 설명합니다.

Linux / 명령어 / clear - 터미널 화면 정리

Linux / 명령어 / clear - 터미널 화면 정리

Linux clear 명령어로 터미널 화면을 정리하는 방법을 설명합니다. 스크롤백을 보존하는 -x 옵션과 Ctrl+L·reset·tput의 차이, TERM 오류 해결법을 다룹니다.

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux chgrp 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux / 명령어 / umount - 파일 시스템을 안전하게 분리

Linux umount 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / bzip2 - 파일을 bzip2 형식으로 압축하기

Linux / 명령어 / bzip2 - 파일을 bzip2 형식으로 압축하기

Linux bzip2 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux / 명령어 / mktemp - 안전한 임시 파일과 디렉터리 생성

Linux mktemp 명령어로 예측하기 어려운 이름의 임시 파일과 디렉터리를 안전하게 만드는 방법을 설명합니다. 템플릿, TMPDIR, trap을 이용한 정리와 -u 옵션의 위험도 알아봅니다.

Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux tree 명령어로 디렉터리와 파일 구조를 계층적으로 확인하는 방법을 설명합니다. 설치, 깊이 제한, 숨김 파일, 제외 패턴, 크기·권한 표시와 JSON 저장 방법까지 정리합니다.

Linux / 명령어 / date - 현재 시각 표시와 출력 형식 지정

Linux / 명령어 / date - 현재 시각 표시와 출력 형식 지정

Linux date 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / who - 현재 로그인 세션 확인

Linux / 명령어 / who - 현재 로그인 세션 확인

Linux who 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux / 명령어 / timedatectl - 시간대와 시간 동기화 상태 관리

Linux timedatectl 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.