Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

개발하지연

DNS란, 조회 방법 (dig, nslookup) 본문

네트워크

DNS란, 조회 방법 (dig, nslookup)

JeongJiyeon 2023. 10. 16. 01:03

DNS란?

Domain Name System

네트워크 통신을 하기 위해서는 모든 기기에 지정된 고유한 IP가 필요하다.

하지만 사람이 매번 IP주소를 기억하기는 어렵기 때문에 도메인 이름을 사용해보자!

이렇게 도메인 네임과 IP를 매핑하여 변환하는 시스템 등장

 

DNS 서버에 등록된 항목

  • A 레코드 : 해당 도메인에 연결된 ip 정보
  • MX 레코드 : 해당 도메인으로 이메일을 수신할 수신할 수신서버 ip정보
  • CNAME 레코드 : 해당 도메인이 가리키는 다른 도메인 이름
  • TXT 레코드 : 해당 도메인에 대한 여러 텍스트 정보.
    • v=spf 정보는 해당 도메인으로 메일을 발송할 수 있는 발송서버 ip대역을 지정하여 스팸 방지에 사용된다.
MacBook-Pro-428:/ user💗 dig kakao.com txt +short
"google-site-verification=puTbVVviI88yMTQf88LO_8L9y2pdlP6bI98p3qO0XdA"
"google-site-verification=rk_MxsjBvzXTt_F1ZI6877Z3V2dAH3B1BMc7bmdcWng"
"google-site-verification=OVqf3b_fME-xxHijfDRV8CIZmbAbauZlS97ScYKYy7I"
"google-site-verification=Qljvs5WkxGiGJL4EzIB-BmmzJ9aOivVkrm0PrmWSZss"
"google-site-verification=WO3BhsNNCPrfc_jvi4eOZoqNPaY2rw1o95tmtXUXXG8"
"rovag_verification_token=D6FFB92C646749648E94FA00D3D0584D"
"v=spf1 ip4:103.246.58.76 ip4:103.246.58.77 ip4:103.246.58.78 ip4:103.246.58.79 ip4:103.246.58.61 ip4:103.246.58.62 ip4:103.246.58.63 ip4:103.246.58.64 ip4:103.246.58.65 include:_spf.daum.net include:_spf.kakao.com ~all"

 

DNS 조회 방법

nslookup

  • query Internet name servers interactively
  • 사용법
    • nslookup -type=[RECORD] [DOMAIN] [DNS_SERVER]
    • 서버 지정을 안하면 /etc/resolve.conf 의 nameserver ip로 조회한다
    • Windows, Linux에서 기본으로 사용 가능
MacBook-Pro-428:/ user💗 nslookup -type=mx kakao.com
Server:		168.126.63.1
Address:	168.126.63.1#53

Non-authoritative answer:
kakao.com	mail exchanger = 10 mx3.kakao.com.
kakao.com	mail exchanger = 10 mx1.kakao.com.

Authoritative answers can be found from:
mx1.kakao.com	internet address = 211.249.219.44
mx3.kakao.com	internet address = 121.53.85.40

dig

  • DNS lookup utility
  • 사용법
    • dig [@DNS_SERVER] [DOMAIN] [TYPE] [query-class]
    • 서버 지정을 안하면 /etc/resolve.conf 의 nameserver ip로 조회한다
    • Linux에서 기본으로 사용 가능
  •  옵션
    • +short : ANSWER SECTION만 출력한다
    • +trace : 도메인 dns 요청 과정을 추적한 결과 출력
MacBook-Pro-428:/ user💗 dig kakao.com mx

; <<>> DiG 9.10.6 <<>> kakao.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19434
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kakao.com.			IN	MX

;; ANSWER SECTION:
kakao.com.		595	IN	MX	10 mx3.kakao.com.
kakao.com.		595	IN	MX	10 mx1.kakao.com.

;; ADDITIONAL SECTION:
mx1.kakao.com.		595	IN	A	211.249.219.44
mx3.kakao.com.		595	IN	A	121.53.85.40

;; Query time: 7 msec
;; SERVER: 168.126.63.1#53(168.126.63.1)
;; WHEN: Mon Oct 16 01:01:14 KST 2023
;; MSG SIZE  rcvd: 110
  • 응답포맷
    • opcode: 질의의 유형 by gpt
      • QUERY (0): 일반적인 DNS 질의를 나타내며, 호스트 이름에서 IP 주소로의 변환을 요청합니다.
      • IQUERY (1): 역 DNS 질의를 나타내며, IP 주소에서 호스트 이름으로의 변환을 요청합니다.
      • STATUS (2): DNS 서버의 상태 정보를 요청하며, 서버의 현재 상태에 대한 정보를 반환합니다.
      • NOTIFY (4): DNS 레코드 변경을 다른 DNS 서버에 알리는 데 사용됩니다.
      • UPDATE (5): DNS 레코드를 동적으로 업데이트하는 데 사용됩니다. 동적 DNS(Dynamic DNS)를 구현할 때 사용됩니다.
    • status: dns 질의의 결과 상태 by gpt
      • -> dns 결과값이 이상할 때, dig 명령어를 통한 네임서버 질의 결과 상태를 확인해볼 수 있다.
      • NOERROR (0): DNS 질의가 성공적으로 처리되었고, 요청한 정보가 반환되었습니다.
      • FORMERR (1): DNS 질의의 형식이 잘못되었습니다. 즉, DNS 패킷의 형식이 올바르지 않은 경우에 발생합니다.
      • SERVFAIL (2): DNS 서버에서 질의를 처리하는 중에 오류가 발생하거나 서버가 응답하지 못하는 경우입니다.
      • NXDOMAIN (3): 요청한 도메인에 대한 레코드가 존재하지 않음을 나타냅니다. 즉, "도메인을 찾을 수 없음"을 의미합니다.
      • NOTIMP (4): DNS 서버가 지원하지 않는 질의 유형을 요청받은 경우입니다.
      • REFUSED (5): DNS 서버가 질의를 거부한 경우입니다. 이는 보안 설정이나 권한 부여와 관련될 수 있습니다.
      • YXDOMAIN (6): 도메인의 레코드가 이미 존재하는 경우에 발생합니다.
      • YXRRSET (7): 도메인 내에서 레코드 집합이 이미 존재하는 경우에 발생합니다.
      • NXRRSET (8): 요청한 레코드 집합이 존재하지 않음을 나타냅니다.
      • NOTAUTH (9): DNS 서버가 권한이 없는 질의를 처리하려고 한 경우입니다.
      • NOTZONE (10): 질의한 도메인이 존재하지 않는 영역(Zone)에 속한 경우입니다.
      • RESERVED (11-15): 이 범주에는 예약된 상태 코드가 포함되며 사용을 위해 예약되어 있습니다.
    • QUESTION SECTION: 질의한 쿼리
    • AMSER SECTION: 반환된 결과
      • 요청한 도메인, TTL, class, type, 리턴된 도메인
    • AUTORITY SECTION: 도메인 권한을 가진 DNS 서버
    • ADDITIONAL SECTION: DNS 서버에서 내려주는 추가정보
      • 네임서버나 반환된 도메인의 A레코드가 포함되는 것으로 확인

nslookup vs dig ?

개인적으로는 dig가 더 자세한 정보를 포함하기도 하고 (도메인 TTL, 네임서버의 응답 상태도 확인가능하고, ,), 다양한 옵션이 있고, 커맨드 사용도 짧고 간편해서 자주 사용하게 되는 것 같다!

Comments