리눅스 명령어 중에 도메인 정보를 확인하기 위해서 nslookup 이라는 명령어를 사용한 적이 있습니다.
nslookup은 어떤 명령어인지, 언제 사용하는 명령어인지 그리고 어떻게 사용하는지 더 자세히 알아보도록합니다.
nslookup 명령어 의미
nslookup 명령어는 네트워크 디버깅을 할 때 자주 사용되는 명령어입니다. DNS 서버에 직접 DNS 쿼리를 하고 그 결과를 출력합니다. 이 명령어를 통해서 DNS 설정이 정상인지, 정상 동작하고 있는지, 네트워크가 의도한대로 정상 설정 되어있는지 등을 확인합니다.
또한 nslookup은 리눅스 명령어지만 macOS 나 window에도 동일한 이름을 가진 명령어가 있스니다.
현재는 nslookup 보다는 비슷한 기능을 지닌 dig 또는 host 명령어를 지향하는 편입니다.
nslookup 명령어 설치
macOS와 window10에는 따로 nslookup을 설치 할 필요가없습니다.
리눅스에도 nslookup은 미리 설치되어있습니다. 하지만 docker 이미지와 같이 환경에 따라 설치되어있지 않은 경우가 있습니다.
dnsutils 패키지를 설치하면 nslookup 명령어가 함께 설치됩니다.
$ apt install dnsutils
nslookup 명령어 예제
도메인 IP 조회
nslookup 명령어 뒤에 조회하려는 도메인을 지정합니다.
nslookup ${domain}
예시로 네이버 도메인의 ip를 출력해보았습니다.
$ nslookup naver.com
- non-authoritative answer : 4가지 dns 유형중 recursive resolver를 사용했다는 의미
- name : 조회한 도메인
- address: naver.com에 연결되 ip 주소
주의) 도메인 ip 주소를 조회 할 때 프로토콜(http://, https)는 포함하지 않습니다.
*참고) host 명령어를 사용하여 조회하려는 서버의 네임서버를 알 수 있습니다.
$ host -t ns naver.com
IP 주소로 도메인 조회
$ nslookup ${IP}
반대로 IP 주소로 도메인을 조회할 수 있습니다.
DNS 서버 지정
특정 DNS 서버에 쿼리를 하고싶다면 아래 명령어와 같이 사용합니다.
$ nslookup {domain} {dns_server}
예시로 구글의 public dns 인 8.8.8.8에서 조회하고 싶으면 2번째 인자로 넣어줍니다.
ex) nslookup naver.com 8.8.8.8
interactive mode
nslookup 을 아무 인자없이 실행하면 인터렉티브 모드로 실행됩니다.
여러 도메인들을 조회해보고 싶다면 인터렉티브 모드를 사용합니다.
type 별 레코드 조회 (MX, TXT)
nslookup 으로 도메인 조회할 때 레코드 타입 지정도 가능합니다.
-type = type 옵션
$ nslookup -type=[TYPE] [DOMAIN]
- MX : Mail Record
$ nslookup -type=mx naver.com
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
naver.com mail exchanger = 10 mx3.naver.com.
naver.com mail exchanger = 10 mx1.naver.com.
naver.com mail exchanger = 10 mx2.naver.com.
- TXT: text
domain validation이나 SPF(Sender Policy Framework) 설정시 사용하는 txt 필드 조회
$ nslookup -type=txt naver.com
Server: 210.220.163.82
Address: 210.220.163.82#53
Non-authoritative answer:
naver.com text = "v=spf1 ip4:111.91.135.0/27 ip4:125.209.208.0/20 ip4:125.209.224.0/19 ip4:210.89.163.112 ip4:210.89.173.104/29 ip4:117.52.140.128/26 ip4:114.111.35.0/24 ~all"
naver.com text = "google-site-verification=fK9dDFcEOeNM2Wr3xzNAN-XLcerfAGpOABdSYiqw4_s"
naver.com text = "facebook-domain-verification=0qyhf0qnkiuqfx4owhfuvwvsvjz8fk"
쿼리 타임아웃 지정
-timeout 옵션을 통해 쿼리 타임아웃을 지정합니다. 다른 옵션과 다르게 nslookup 앞에 time 을 붙여줍니다.
$ time nslookup -timeout=1 naver.com 0.0.0.0
기본 타임아웃은 10초입니다.
참고:
https://www.lainyzine.com/ko/article/linux-nslookup-command-how-to-query-dns/
https://www.lesstif.com/system-admin/nslookup-20775988.html
'스터디 > LINUX' 카테고리의 다른 글
[Linux] netstat 명령어로 서버간 파일 전송하기 (0) | 2024.07.14 |
---|---|
[Linux] 자주 쓰는 리눅스 명령어 - 파일 보기 (0) | 2024.06.30 |
[Linux] 리눅스 명령어 - 파일 보기 (0) | 2024.04.07 |
댓글