nslookup 명령은 DNS 서버에 질의해서 도메인의 정보를 조회하는 명령어다. (최신 리눅스에서는 host 명령을 사용하길 권장하고 있다)
nslookup
nslookup [도메인]
nslookup [IP주소]
nslookup [도메인] [DNS주소]
1. nslookup 명령어 설치
nslookup 명령어가 없다면 설치해야한다.
$ sudo yum install bind-utils
CentOS는 bind-utils
$ sudo apt-get install dnsutils
Ubuntu는 dnsutils를 설치하면 된다.
2. nslookup 명령어 사용법
2-1. 도메인의 IP주소 알아오기
가장 간단한 사용방법은 nslookup 명령어의 인자로 도메인 이름이나 IP 주소를 입력하는 것이다.
[root@myhost ~]# nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 216.58.220.142
Name: google.com
Address: 2404:6800:4004:813::200e
google.com이라는 도메인이 매핑되어 있는 ip 주소를 조회해본 결과다. 8.8.8.8 주소에 있는 DNS (google dns) 서버에서 정보를 가져 왔고, google.com이라는 도메인 주소는 216.58.220.142라는 IP 주소에 매핑되어 있음을 알 수 있다.
웹 브라우저를 열고 여기서 얻어진 IP 주소를 입력하면 google.com으로 접속되는 것을 확인할 수 있다.
2-2. 특정 DNS에서 조회
도메인 이름과 IP주소를 매핑하는 DNS는 여러군데 존재할 수 있다. 따라서 특정 DNS 서버에서 도메인 주소를 얻어오고 싶은 경우가 있다.
앞서 조회한 정보는 8.8.8.8이라는 주소에 있는 DNS 서버에서 정보를 조회했었다. 다른 DNS 서버에서 google.com 도메인에 대한 정보를 조회해보자.
[root@myhost ~]# nslookup google.com 168.126.63.1
Server: 168.126.63.1
Address: 168.126.63.1#53
Non-authoritative answer:
Name: google.com
Address: 216.58.220.142
Name: google.com
Address: 2404:6800:4004:826::200e
거의 비슷하다.
2-3. Reverse DNS lookup
반대로 특정 IP주소가 어떤 도메인에 매핑되어 있는지 확인할 수도 있다. 이를 Reverse DNS lookup이라고 한다.
[root@myhost ~]# nslookup 216.58.220.142
142.220.58.216.in-addr.arpa name = nrt20s17-in-f14.1e100.net.
142.220.58.216.in-addr.arpa name = syd09s01-in-f142.1e100.net.
Authoritative answers can be found from:
220.58.216.in-addr.arpa nameserver = ns3.google.com.
220.58.216.in-addr.arpa nameserver = ns1.google.com.
220.58.216.in-addr.arpa nameserver = ns2.google.com.
220.58.216.in-addr.arpa nameserver = ns4.google.com.
ns1.google.com internet address = 216.239.32.10
ns2.google.com internet address = 216.239.34.10
ns3.google.com internet address = 216.239.36.10
ns4.google.com internet address = 216.239.38.10
ns1.google.com has AAAA address 2001:4860:4802:32::a
ns2.google.com has AAAA address 2001:4860:4802:34::a
ns3.google.com has AAAA address 2001:4860:4802:36::a
ns4.google.com has AAAA address 2001:4860:4802:38::a
nslookup 명령어에 ip주소를 인자로 주면 인자로 넘긴 ip 주소와 매핑되어 있는 도메인 정보를 확인할 수 있다. 마찬가지로 DNS 서버 주소를 추가 인자로 넘기면 특정 DNS 서버에서 정보를 조회할 수 있다.
2-4. 레코드 타입 지정
레코드 타입을 지정해서 정보를 조회하는 것도 가능하다. '-type=[TYPE]' 옵션을 사용하면 된다. 예를 들어 google.com 도메인의 MX 타입 레코드를 조회하려면 다음 명령을 실행하면 된다.
[root@myhost ~]# nslookup -type=mx google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 40 alt3.aspmx.l.google.com.
google.com mail exchanger = 20 alt1.aspmx.l.google.com.
google.com mail exchanger = 50 alt4.aspmx.l.google.com.
google.com mail exchanger = 30 alt2.aspmx.l.google.com.
google.com mail exchanger = 10 aspmx.l.google.com.
사용 가능한 DNS 타입 정보는 위키를 참고하자. (https://en.wikipedia.org/wiki/List_of_DNS_record_types)
대충 다음과 같은 타입을 쓸 수 있다.
- NS : Name Server
- MX : Mail Exchanger(메일 서버)
- A : Address, 각 호스트에 대하 IP 주소
- CNAME : Canonical Name, 기존 호스트의 별칭
- MINFO : 메일박스와 메일 리스트 정보
- PTR : IP 주소에 대한 호스트명
- TXT : 임의의 텍스트를 포함할 수 있는 레코드
- UINFO : 사용자 정보
- ANY : 호스트에 관련된 모든 레코드 정보
2-5. 인터렉티브 모드(Interactive Mode)
nslookup 명령어에 인자를 주지 않으면 인터렉티브 모드로 실행된다. 한번의 실행으로 끝나는게 아니라 사용자가 입력한 내용을 바탕으로 대화형으로 주고 받으면서 정보를 출력한다.
[root@myhost ~]# nslookup
>
> google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 216.58.220.142
Name: google.com
Address: 2404:6800:4004:813::200e
입력창에 도메인을 입력하면 그 도메인에 대한 정보가 출력된다.
조회하려는 DNS 서버 주소를 변경하려면 server 뒤에 주소를 입력하면 된다.
> server 168.126.63.1
Default server: 168.126.63.1
Address: 168.126.63.1#53
> naver.com
Server: 168.126.63.1
Address: 168.126.63.1#53
Non-authoritative answer:
Name: naver.com
Address: 223.130.195.200
Name: naver.com
Address: 223.130.200.104
Name: naver.com
Address: 223.130.195.95
Name: naver.com
Address: 223.130.200.107
조회하려는 레코드 타입을 입력하려면 set type=[TYPE] 을 입력하면 된다.
> google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 20 alt1.aspmx.l.google.com.
google.com mail exchanger = 30 alt2.aspmx.l.google.com.
google.com mail exchanger = 10 aspmx.l.google.com.
google.com mail exchanger = 40 alt3.aspmx.l.google.com.
google.com mail exchanger = 50 alt4.aspmx.l.google.com.
이런 식으로 사용하면 된다.
관련글
댓글