host 는 DNS lookup 유틸리티로  nslookup 명령어 과 동일한 역할을 수행하며 최신 리눅스는 오래된 nslookup 명령 보다는 host 명령을 사용하는 것을 권장하고 있습니다.

기본 사용법

host명령어 뒤에 조회하려는 도메인을 지정합니다.. 예로 아래는 google.com 의 IPv4(A), IPv6(AAAA) 와 MX(Mail Record)의 정보를 출력합니다

host 기본 사용법

$ host google.com

google.com has address 216.58.220.110
google.com has IPv6 address 2404:6800:4004:800::200e
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
BASH


레코드 지정

host 명령은 -t 뒤에 조회할 레코드 타입을 지정할 수 있으며 생략할 경우 A, AAAA, MX 레코드를 조회합니다.

A 레코드

다음 명령은 A 레코드만 조회합니다.

host A type

$ host -t a google.com

google.com has address 216.58.220.110
BASH


type 은 A, AAAA, MX, CNAME, NS, SOA, TXT, DNSKEY, AXFR 등 다양한 레코드를 지정할 수 있으며 대소문자를 가리지 않으므로 아래 명령은 모두 동일합니다.

host TXT type

$ host -t txt google.com
$ host -t TxT google.com
BASH


CNAME 조회

CNAME 조회

$ host -t cname google.com
BASH


NS 레코드로 DNS 목록 확인

$ host -t ns google.com 

google.com name server ns4.google.com.
google.com name server ns1.google.com.
google.com name server ns3.google.com.
google.com name server ns2.google.com.
CODE


Reverse DNS lookup

IP 로 Domain Name 을 찾는 기능으로 타입에 PTR 을 준 것과 동일합니다. 검색 주소가 IP 경우 host 명령은 자동으로 -t ptr 를 설정해서 검색하며 찾으려는 서버가 속한 DNS의 설정에 PTR 항목이 설정되어 있어야 합니다.

$ host 209.132.183.181

181.183.132.209.in-addr.arpa    name = origin-www2.redhat.com.
CODE

특정 DNS 사용하여 조회

기본 설정된 DNS 가 아닌 외부의 DNS 를 지정해서 조회하려면 조회할 도메인 이름뒤에 사용할 도메인 서버를 넘겨주면 됩니다. 다음은 KT의 공개 DNS 인 168.126.63.1 을 사용하여 조회하는 예제입니다

외부 DNS 지정

$ host redhat.com 168.126.63.1

Using domain server:
Name: 168.126.63.1
Address: 168.126.63.1#53
Aliases:

redhat.com has address 209.132.183.105
redhat.com mail is handled by 10 us-smtp-inbound-2.mimecast.com.
redhat.com mail is handled by 10 us-smtp-inbound-1.mimecast.com.
BASH


사용할 DNS 를 넘겨주면 위와 같이 어떤 DNS 를 사용해서 조회하는지도 표시됩니다.

Ref