인터넷을 사용할 때 우리는 웹사이트에 접속하기 위해 복잡한 IP 주소를 직접 입력하지 않고 example.com과 같은 도메인 이름을 사용합니다. 하지만 실제 네트워크 통신에서는 도메인 이름을 IP 주소로 확인하는 과정이 필요합니다. 이 과정에서 중요한 역할을 하는 것이 DNS(Domain Name System)입니다.
Windows에서는 별도의 프로그램을 설치하지 않아도 CMD의 nslookup 명령어를 이용해 특정 도메인의 DNS 정보를 조회할 수 있습니다.
nslookup을 사용하면 도메인에 연결된 IP 주소를 확인하거나 현재 조회에 사용되는 DNS 서버를 살펴보고, 원하는 DNS 서버를 직접 지정해 조회 결과를 비교할 수도 있습니다.
특히 인터넷은 연결되어 있는데 특정 사이트의 도메인을 찾지 못하거나 DNS 설정을 변경한 뒤 정상적으로 적용되는지 확인하고 싶을 때 알아두면 유용합니다.
이번 글에서는 Windows CMD에서 nslookup 명령어를 사용하는 방법부터 DNS 서버와 도메인 IP 주소를 확인하는 방법, 결과 해석법, 특정 DNS 서버를 지정하는 방법과 자주 발생하는 오류까지 자세히 알아보겠습니다.
nslookup 명령어란?
nslookup은 DNS 서버에 질의하여 도메인 이름과 관련된 DNS 정보를 확인할 때 사용하는 명령줄 도구입니다.
가장 기본적인 사용 형식은 다음과 같습니다.
nslookup 도메인
예를 들어 다음과 같이 사용할 수 있습니다.
nslookup example.com
Enter 키를 누르면 DNS 서버에 해당 도메인에 대한 질의를 보내고 조회 결과를 CMD 화면에서 확인할 수 있습니다.
결과에는 환경과 조회 대상에 따라 사용한 DNS 서버, 서버 주소, 조회된 도메인 이름, IP 주소 등이 표시될 수 있습니다.
쉽게 말하면 nslookup은 “이 도메인의 DNS 정보를 확인해줘”라고 DNS 서버에 직접 물어보는 도구라고 이해하면 됩니다.
Windows CMD에서 nslookup 실행하는 방법
먼저 Windows에서 명령 프롬프트를 실행합니다.
작업 표시줄의 검색창에서 cmd 또는 명령 프롬프트를 검색한 뒤 실행합니다.
또는 Windows 키 + R을 누른 다음 실행 창에 다음과 같이 입력합니다.
cmd
Enter 키를 누르면 명령 프롬프트가 실행됩니다.
이제 다음과 같은 형식으로 입력합니다.
nslookup example.com
명령을 실행하면 DNS 조회 결과가 나타납니다.
기본적인 nslookup 조회는 일반적으로 관리자 권한으로 CMD를 실행하지 않아도 사용할 수 있습니다.
nslookup 결과는 어떻게 읽을까?
nslookup을 처음 실행하면 여러 주소가 한꺼번에 표시되기 때문에 어느 것이 내가 찾는 IP인지 헷갈릴 수 있습니다.
결과는 환경에 따라 다르지만 대략 다음과 같은 정보로 구성될 수 있습니다.
Server: dns.example
Address: 192.0.2.1
그리고 아래쪽에는 조회한 도메인의 이름과 IP 주소가 표시됩니다.
여기서 위쪽의 Server와 Address는 DNS 질의에 사용된 DNS 서버에 관한 정보입니다.
아래쪽에 표시되는 Name과 Addresses 등의 정보는 조회한 도메인에 대한 DNS 응답과 관련됩니다.
즉, 결과를 볼 때는 먼저 다음 두 가지를 구분하면 이해하기 쉽습니다.
위쪽 → 어떤 DNS 서버를 이용했는가
아래쪽 → 해당 DNS 서버가 도메인에 대해 어떤 결과를 반환했는가
처음 nslookup을 사용하는 사람이라면 이 차이부터 기억하는 것이 좋습니다.
nslookup으로 도메인 IP 주소 확인하기
nslookup의 가장 기본적인 활용 방법은 특정 도메인에 연결된 IP 주소를 확인하는 것입니다.
사용 형식은 다음과 같습니다.
nslookup example.com
결과에 하나 또는 여러 개의 주소가 표시될 수 있습니다.
여러 주소가 나타난다고 해서 반드시 문제가 있는 것은 아닙니다.
웹사이트나 온라인 서비스는 트래픽 분산, 장애 대응, CDN 등의 이유로 하나의 도메인에 여러 IP 주소를 사용할 수 있습니다.
또한 IPv4뿐 아니라 IPv6 주소가 함께 조회될 수도 있습니다.
따라서 “도메인은 항상 IP 주소 하나와 연결된다”라고 생각할 필요는 없습니다.
서비스의 네트워크 구성에 따라 여러 주소가 정상적으로 반환될 수 있습니다.
DNS란 무엇일까?
nslookup을 이해하려면 DNS의 기본 역할을 알아두는 것이 좋습니다.
인터넷에서 장치들은 IP 주소를 이용해 통신하지만 사람이 수많은 IP 주소를 전부 기억하기는 어렵습니다.
그래서 우리는 숫자로 된 주소 대신 기억하기 쉬운 도메인 이름을 사용합니다.
예를 들어 사용자가 웹 브라우저에 도메인을 입력하면 시스템은 DNS를 이용해 해당 이름과 관련된 IP 주소를 확인하고 이후 통신을 진행할 수 있습니다.
이 과정을 전화번호부에 비유하기도 합니다.
사람의 이름을 알고 있을 때 전화번호부에서 전화번호를 찾는 것처럼 도메인 이름을 이용해 네트워크 통신에 필요한 주소 정보를 찾는 역할을 하는 것입니다.
nslookup은 이러한 DNS 조회 과정을 사용자가 직접 확인할 수 있게 해주는 도구입니다.
현재 사용 중인 DNS 서버 확인하기
nslookup을 도메인 없이 단독으로 실행하면 대화형 모드로 들어갈 수 있습니다.
nslookup
실행 후 현재 기본적으로 사용되는 DNS 서버 관련 정보가 표시될 수 있습니다.
또한 앞에서 살펴본 다음 명령어를 사용해도 DNS 서버 정보를 확인할 수 있습니다.
ipconfig /all
ipconfig /all은 현재 Windows 네트워크 어댑터에 설정된 DNS 서버 정보를 확인하는 데 유용하고, nslookup은 실제로 DNS 질의를 보내 결과를 조회하는 데 유용합니다.
두 명령어의 역할을 구분하면 다음과 같습니다.
ipconfig /all → 내 컴퓨터의 DNS 설정 확인
nslookup → DNS 서버에 특정 도메인 정보를 질의
따라서 DNS 문제를 확인할 때 두 명령어를 함께 활용하면 좋습니다.
특정 DNS 서버를 지정해서 조회하는 방법
nslookup의 유용한 기능 중 하나는 특정 DNS 서버를 직접 지정하여 조회할 수 있다는 점입니다.
기본 형식은 다음과 같습니다.
nslookup 도메인 DNS서버주소
예를 들어 Google Public DNS의 8.8.8.8을 이용해 example.com을 조회하려면 다음과 같이 입력할 수 있습니다.
nslookup example.com 8.8.8.8
Cloudflare의 공개 DNS 서비스 주소 중 하나인 1.1.1.1을 이용한다면 다음과 같은 형식입니다.
nslookup example.com 1.1.1.1
이 방법을 이용하면 현재 기본 DNS 서버에서 얻은 결과와 다른 DNS 서버를 지정했을 때의 결과를 비교할 수 있습니다.
다만 DNS 서버마다 캐시 상태, 설정, 응답 정책 등이 다를 수 있기 때문에 결과가 항상 완전히 동일하다고 볼 수는 없습니다.
기본 DNS와 다른 DNS의 결과를 비교하는 이유
특정 도메인이 정상적으로 조회되지 않을 때 문제가 도메인 자체에 있는지 현재 사용 중인 DNS 서버와 관련되어 있는지 확인하고 싶을 수 있습니다.
먼저 기본 설정으로 조회합니다.
nslookup example.com
그다음 특정 DNS 서버를 지정해 조회합니다.
nslookup example.com 8.8.8.8
두 결과를 비교하면 DNS 문제를 분석하는 데 참고할 수 있습니다.
예를 들어 기본 DNS에서는 조회 오류가 발생하는데 다른 DNS 서버에서는 정상적인 결과가 반환된다면 현재 DNS 환경을 추가로 점검해볼 단서가 될 수 있습니다.
하지만 DNS 조회 결과 하나만으로 인터넷 장애의 원인을 확정하는 것은 적절하지 않습니다.
네트워크 연결 상태, 방화벽, 도메인 설정, DNS 캐시 등 다른 요소도 함께 살펴봐야 합니다.
nslookup으로 MX 레코드 확인하기
nslookup은 단순히 도메인의 IP 주소만 확인하는 도구가 아닙니다.
DNS에는 다양한 종류의 레코드가 존재하며 원하는 유형을 지정해 조회할 수도 있습니다.
예를 들어 도메인의 MX(Mail Exchange) 레코드를 확인하려면 다음과 같은 형식을 사용할 수 있습니다.
nslookup -type=mx example.com
MX 레코드는 해당 도메인의 이메일 수신과 관련된 메일 서버 정보를 나타내는 데 사용됩니다.
개인 사용자가 자주 확인할 정보는 아닐 수 있지만 이메일 도메인 설정이나 메일 서버 문제를 점검할 때 활용할 수 있습니다.
NS 레코드 확인하는 방법
도메인에서 사용하는 네임서버 정보를 확인하고 싶다면 NS 레코드를 조회할 수 있습니다.
nslookup -type=ns example.com
NS(Name Server) 레코드는 해당 DNS 영역에 대한 권한 있는 네임서버와 관련된 정보를 제공합니다.
도메인의 DNS 설정을 변경했거나 네임서버가 정상적으로 지정되어 있는지 확인해야 할 때 참고할 수 있습니다.
특히 직접 도메인과 웹사이트를 운영한다면 알아두면 유용한 조회 방법입니다.
TXT 레코드 조회하는 방법
TXT 레코드를 확인하려면 다음과 같은 형식을 사용할 수 있습니다.
nslookup -type=txt example.com
TXT 레코드는 문자 형태의 정보를 DNS에 저장하는 데 사용되며 이메일 인증이나 도메인 소유권 확인 등 여러 목적으로 활용됩니다.
웹사이트나 이메일 서비스를 설정하다 보면 DNS에 특정 TXT 값을 추가하라는 안내를 받을 수 있습니다.
이때 nslookup을 이용해 해당 정보가 DNS 조회 결과에서 확인되는지 살펴볼 수 있습니다.
다만 DNS 변경 내용은 환경에 따라 즉시 모든 곳에서 동일하게 조회되지 않을 수 있으므로 변경 직후 결과만 보고 설정 실패라고 단정하지 않는 것이 좋습니다.
A 레코드와 AAAA 레코드의 차이
도메인의 주소를 확인할 때 자주 접하게 되는 것이 A 레코드와 AAAA 레코드입니다.
A 레코드는 도메인 이름과 IPv4 주소의 연결에 사용됩니다.
다음과 같이 조회할 수 있습니다.
nslookup -type=a example.com
AAAA 레코드는 IPv6 주소와 관련된 레코드입니다.
nslookup -type=aaaa example.com
따라서 특정 도메인의 IPv4와 IPv6 구성을 구분해서 확인하고 싶다면 레코드 유형을 지정해 조회하면 됩니다.
nslookup 대화형 모드 사용하기
nslookup을 매번 한 줄 명령어로 실행할 수도 있지만 대화형 모드를 사용할 수도 있습니다.
CMD에서 다음과 같이 입력합니다.
nslookup
프롬프트가 변경되면 여러 DNS 질의를 연속해서 입력할 수 있습니다.
예를 들어 조회할 레코드 유형을 지정하는 방식으로 사용할 수 있습니다.
set type=mx
그다음 도메인을 입력하면 해당 유형의 DNS 정보를 조회할 수 있습니다.
대화형 모드를 종료하려면 다음과 같이 입력합니다.
exit
DNS 정보를 여러 번 확인해야 하는 경우 알아두면 편리합니다.
nslookup에서 DNS request timed out이 나타나는 이유
nslookup을 사용하다 보면 DNS 요청 시간이 초과되었다는 의미의 메시지가 나타날 수 있습니다.
이는 설정된 시간 내에 DNS 서버로부터 정상적인 응답을 받지 못했을 때 발생할 수 있습니다.
가능한 원인은 여러 가지입니다.
현재 네트워크 연결이 불안정할 수도 있고 DNS 서버와의 통신에 문제가 있을 수도 있으며 방화벽이나 네트워크 정책이 영향을 줄 수도 있습니다.
따라서 시간 초과 메시지가 발생하면 먼저 현재 인터넷 연결 상태를 확인하고 다른 도메인도 동일한지 테스트해보는 것이 좋습니다.
필요하다면 다른 DNS 서버를 지정하여 결과를 비교할 수도 있습니다.
nslookup example.com 8.8.8.8
한 번의 오류만 보고 DNS 서버 자체에 장애가 발생했다고 단정하기보다 여러 조건에서 결과를 비교하는 것이 좋습니다.
Non-existent domain 또는 NXDOMAIN은 무엇일까?
DNS 조회 과정에서는 조회하려는 도메인 이름이 존재하지 않는다는 의미의 결과를 받을 수도 있습니다.
흔히 NXDOMAIN이라고 표현합니다.
주소를 잘못 입력했거나 실제로 존재하지 않는 도메인을 조회했을 때 나타날 수 있습니다.
따라서 이러한 결과를 확인했다면 가장 먼저 도메인의 철자가 정확한지 확인하는 것이 좋습니다.
도메인이 실제로 존재하는데도 예상과 다른 결과가 나타난다면 DNS 설정이나 변경 상태 등을 추가로 확인할 수 있습니다.
nslookup과 ping의 차이
nslookup과 ping은 둘 다 도메인을 입력해서 사용할 수 있기 때문에 처음에는 비슷하게 느껴질 수 있습니다.
하지만 목적은 다릅니다.
nslookup은 DNS 서버에 도메인 정보를 질의하는 도구입니다.
ping은 특정 대상과 IP 네트워크를 통해 통신이 가능한지와 왕복 응답 등을 확인하는 도구입니다.
예를 들어 다음과 같습니다.
nslookup example.com
→ example.com의 DNS 정보를 조회합니다.
ping example.com
→ 이름 확인 이후 해당 대상으로 네트워크 테스트를 시도합니다.
따라서 도메인의 DNS 정보 자체를 확인하려면 nslookup이 더 적합합니다.
nslookup과 tracert의 차이
tracert 역시 네트워크 진단에 사용되지만 nslookup과 확인하는 정보가 다릅니다.
nslookup → 도메인과 DNS 정보 확인
tracert → 목적지까지 이동하는 네트워크 경로 확인
예를 들어 웹사이트 접속 문제가 발생했을 때 nslookup으로 도메인이 정상적으로 조회되는지 확인하고, ping으로 대상과 통신 상태를 살펴본 뒤, 필요하다면 tracert로 네트워크 경로를 추적할 수 있습니다.
각 명령어가 서로 다른 부분을 확인하기 때문에 하나만 사용하는 것보다 목적에 맞게 조합하는 것이 좋습니다.
DNS 문제를 CMD에서 확인하는 기본 순서
특정 웹사이트가 열리지 않거나 DNS 문제가 의심된다면 다음과 같은 순서로 확인할 수 있습니다.
먼저 현재 네트워크 설정을 확인합니다.
ipconfig /all
현재 설정된 DNS 서버가 무엇인지 살펴봅니다.
다음으로 대상 도메인을 조회합니다.
nslookup example.com
정상적으로 IP 주소가 조회되는지 확인합니다.
필요하다면 다른 DNS 서버를 지정해 비교합니다.
nslookup example.com 8.8.8.8
그다음 실제 네트워크 통신 상태를 확인해야 한다면 ping 등을 추가로 사용할 수 있습니다.
ping example.com
이렇게 하면 현재 DNS 설정 → 실제 DNS 조회 → 다른 DNS와 비교 → 네트워크 연결 테스트 순서로 문제 범위를 좁히는 데 도움이 됩니다.
DNS 변경 후 nslookup 결과가 바로 바뀌지 않는 이유
웹사이트를 직접 운영한다면 도메인의 DNS 레코드를 변경한 뒤 nslookup으로 결과를 확인하는 경우가 많습니다.
그런데 DNS 설정을 변경했다고 해서 모든 DNS 서버의 조회 결과가 즉시 동시에 변경되는 것은 아닙니다.
DNS는 캐시를 활용하며 각 레코드에는 TTL(Time To Live)이라는 값이 설정될 수 있습니다.
기존 정보를 캐시에 보관하고 있는 DNS 서버에서는 일정 시간 동안 이전 결과가 반환될 가능성이 있습니다.
따라서 DNS를 변경한 직후 특정 환경에서 이전 IP가 조회된다고 해서 무조건 설정에 실패했다고 판단해서는 안 됩니다.
여러 DNS 서버에서 조회 결과를 비교하고 레코드 설정 및 TTL 등을 함께 확인하는 것이 좋습니다.
nslookup 사용할 때 주의할 점
nslookup은 매우 유용하지만 결과를 해석할 때 몇 가지 주의해야 할 점이 있습니다.
첫째, IP 주소가 여러 개 나온다고 오류라고 생각하지 않습니다.
서비스 구조에 따라 하나의 도메인이 여러 주소를 사용할 수 있습니다.
둘째, DNS 서버마다 결과가 항상 동일하다고 가정하지 않습니다.
캐시나 DNS 구성 등에 따라 차이가 나타날 수 있습니다.
셋째, nslookup 성공이 웹사이트의 정상 작동까지 보장하는 것은 아닙니다.
DNS 조회가 정상이어도 웹 서버, 방화벽, 애플리케이션 등 다른 부분에서 문제가 발생할 수 있습니다.
넷째, DNS 오류 하나만 보고 인터넷 전체가 고장 났다고 판단하지 않습니다.
ping, tracert, ipconfig 등 다른 진단 결과와 함께 확인하는 것이 좋습니다.
nslookup 주요 명령어 정리
기본적인 도메인 DNS 조회:
nslookup example.com
특정 DNS 서버를 지정해서 조회:
nslookup example.com 8.8.8.8
A 레코드 확인:
nslookup -type=a example.com
AAAA 레코드 확인:
nslookup -type=aaaa example.com
MX 레코드 확인:
nslookup -type=mx example.com
NS 레코드 확인:
nslookup -type=ns example.com
TXT 레코드 확인:
nslookup -type=txt example.com
nslookup 도움말과 사용 가능한 기능은 Windows 환경에서 직접 확인하는 것도 좋습니다.
마무리
Windows의 nslookup 명령어는 특정 도메인의 IP 주소를 확인하고 DNS 서버에 직접 질의하여 다양한 DNS 정보를 조회할 수 있는 유용한 네트워크 도구입니다.
단순히 도메인의 IP 주소를 확인하는 것뿐 아니라 A, AAAA, MX, NS, TXT 등의 DNS 레코드를 조회하고 특정 DNS 서버를 직접 지정해 결과를 비교할 수도 있습니다.
특히 DNS 문제를 확인할 때는 nslookup만 단독으로 사용하기보다 ipconfig /all을 이용해 현재 DNS 설정을 먼저 확인하고 필요에 따라 ping, tracert 등의 네트워크 명령어와 함께 사용하는 것이 좋습니다.
핵심적인 차이를 기억하면 어렵지 않습니다.
ipconfig /all → 현재 네트워크와 DNS 설정 확인
ping → 대상과 네트워크 통신 상태 확인
tracert → 목적지까지 네트워크 경로 확인
nslookup → 도메인의 DNS 정보 조회
이 네 가지 CMD 명령어를 함께 이해하면 Windows에서 인터넷 연결이나 DNS 문제가 발생했을 때 어떤 부분부터 확인해야 하는지 훨씬 쉽게 판단할 수 있습니다.
다음 단계에서는 netstat 명령어를 이용해 현재 컴퓨터가 사용 중인 네트워크 연결과 포트, IP 주소를 확인하는 방법을 알아보겠습니다.