ioerror

nslookup - 네임 서버를 통한 도메인 및 IP 주소 조회 본문

OS

nslookup - 네임 서버를 통한 도메인 및 IP 주소 조회

반응형

nslookup - Name Server Lookup

도메인 네임 서버(DNS)에 직접 쿼리를 보내 특정 도메인의 IP 주소를 조회하거나, 반대로 IP 주소로 도메인명을 조회(역방향 조회)하는 네트워크 관리 명령줄 도구이다. DNS 서버의 작동 상태를 점검하고 네트워크 취약점을 진단하는 데 주로 사용되며, 대화형(Interactive) 모드와 비대화형(Non-interactive) 모드를 모두 지원한다. 대부분의 Unix, Linux, Windows 운영체제에 기본 포함되어 있다.

1. 명령어 용도

  • 호스트의 IP 주소 찾기: 특정 도메인(예: google.com)의 IPv4 또는 IPv6 주소를 신속하게 확인하고자 할 때 사용된다.
  • 역방향 DNS 조회: 특정 IP 주소를 소유한 도메인 이름을 추적할 때 활용된다.
  • 메일 서버(MX 레코드) 확인: 이메일 발송 문제가 발생했을 때 목적지 도메인의 메일 교환기 서버가 올바르게 지정되어 있는지 점검한다.
  • 특정 네임 서버 지정 테스트: 기본 DNS 서버 대신 구글(8.8.8.8)이나 클라우드플레어(1.1.1.1) 등 특정 DNS 서버를 지정하여 레코드 전파 여부를 확인한다.
# 가장 기본적인 도메인의 IP 주소 조회 예시
nslookup google.com
# Server:		127.0.0.53
# Address:		127.0.0.53#53
# 
# Non-authoritative answer:
# Name:	google.com
# Address: 142.250.206.238

2. 명령어 서식

nslookup [-option] [hostname] [server]

3. 명령어 옵션

옵션 설명 사용가능 OS 및 쉘
-type=a IPv4 주소 레코드(A 레코드)를 조회한다.  
-type=aaaa IPv6 주소 레코드(AAAA 레코드)를 조회한다.  
-type=mx 도메인의 메일 교환기 레코드(MX 레코드)를 조회한다.  
-type=ns 도메인의 네임 서버 레코드(NS 레코드)를 조회한다.  
-type=txt 텍스트 레코드(TXT, SPF 등 인증 정보)를 조회한다.  
-type=any 해당 도메인에 사용 가능한 모든 DNS 레코드를 조회한다.  
-port=수치 기본 53번 포트 대신 지정한 포트 번호로 DNS 쿼리를 전送한다.  
-retry=수치 요청 시간 초과 시 재시도할 횟수를 지정한다.  
-timeout=수치 응답을 기다릴 제한 시간(초)을 설정한다.  
-debug 쿼리 및 응답에 대한 상세한 디버깅 정보를 출력한다.  
 
# 1. 특정 메일 서버(MX) 레코드 조회 예시
nslookup -type=mx github.com
# Server:		127.0.0.53
# Address:		127.0.0.53#53
# 
# Non-authoritative answer:
# github.com	mail exchanger = 1 asmtp.aspmx.l.google.com.
# github.com	mail exchanger = 10 alt4.aspmx.l.google.com.

# 2. 구글 네임 서버(8.8.8.8)를 직접 지정하여 도메인 조회 예시
nslookup openai.com 8.8.8.8
# Server:		8.8.8.8
# Address:		8.8.8.8#53
# 
# Non-authoritative answer:
# Name:	openai.com
# Address: 104.18.23.111
# Name:	openai.com
# Address: 104.18.22.111
  • Server / Address: 쿼리를 처리한 DNS 서버의 이름과 IP 주소를 나타낸다.
  • Non-authoritative answer (비인증 답변): 캐시 서버에 저장된 정보를 가져왔음을 의미하며, 해당 도메인을 직접 관리하는 주 네임 서버로부터 직접 받은 응답이 아닐 때 표시된다.
  • mail exchanger: 해당 도메인으로 수신되는 이메일을 처리하는 메일 서버의 주소와 우선순위(숫자가 낮을수록 높음)를 보여준다.

4. 명령어 특이사항(유의사항)

  • Deprecated (권장되지 않음) 논란: ISC(Internet Systems Consortium)에서는 한때 nslookup 대신 dig 또는 host 명령어 사용을 권장하며 더 이상 업데이트를 하지 않겠다고 선언한 바 있다. 그러나 사용자들의 높은 빈도와 익숙함 덕분에 여전히 유지보수되어 대부분의 최신 리눅스 배포판에 기본 탑재되어 있다. 복잡한 DNS 분석을 수행할 때는 dig 명령어가 더 정확하고 상세한 정보를 제공하므로 권장된다.
  • /etc/resolv.conf 참조: 비대화형 모드로 실행 시 시스템의 DNS 설정 파일인 /etc/resolv.conf에 등록된 네임 서버를 순차적으로 조회하므로, 네트워크가 연결되어 있어도 해당 파일이 잘못 설정되어 있으면 동작하지 않는다.
  • 결과값의 신뢰성: Non-authoritative answer가 출력되는 경우 TTL(Time To Live) 만료 여부에 따라 현재 실제 DNS 레코드와 일시적으로 불일치할 수 있으므로, 정확한 동기화 확인이 필요할 때는 네임 서버 주소를 명령어 인자에 직접 명시하여 조회해야 한다.

https://ioerror.tistory.com/entry/UNIX-Linux-Command-Reference

 

UNIX & Linux Command Reference

유닉스 / 리눅스 명령어 표유닉스와 리눅스 환경에서 자주 사용되는 필수 명령어들을 완벽하게 정리한다. 서버 관리, 프로그래밍, 일상적인 시스템 운영 등 어떤 목적이든 터미널 환경을 능숙하

ioerror.tistory.com

 

 

 

반응형
Comments