본문 바로가기

잼있어보이는군..

nslookup 사용법

http://happyclick.egloos.com/6814814


nslookup 사용법

nslookup


nslookup 프로그램은 인터넷 도메인 네임 서버(DNS Server)에게 특정 호스트에 대한 정보(호스트 네임과 IP Address)를 문의하는 대화식 프로그램이다. 특히 호스트 이름으로 IP 주소를 알려고 할 경우나 IP 주소를 알고 있는데 호스트 이름을 모를 경우 사용된다.
(1) 개요
인터넷 도메인 네임 스페이스는 트리 구조로 5개의 톱-레벨 도메인을 가진다.
COM 상업적인 단체/기구
EDU 교육 기구
 ORG 비영리 조직
GOV 정부 기관
MIL 군사적 호스트
만약 사용자가 특정 호스트에 대해 알고 싶은 것이 있다면, 먼저 그 호스트가 속하는 톱-레벨 도메인을 결정하기 위해 그 호스트의 조직에 대해 조금은 알아야 한다. 예를 들어 만약 사용자가 UCLA라는 대학에 있는 컴퓨터의 인터넷 주소를 알고자 한다면 다음과 같이 해야 한다.
 "root" 명령을 사용하여 루트 서버로 연결한다. 네임 스페이스의 루트 스페이스는 톱-레벨 도메인들에 대한 정보를 가진다.
 UCLA가 대학이므로 그것의 도메인 이름은 "ucla.edu."이며 ucla.edu를 위한 서버에 "ucla.edu."라는 명령어로 연결한다. 그 결과 응답은 그 도메인을 위해 서버로 동작하는 호스트들의 이름들을 출력할 것이다.
참고 : 루트 서버는 ucla.edu에 대한 정보를 가지고 있지 않지만 그 호스트들 에 대한 이름과 주소를 안다. 한번 루트 서버에 의해 위치가 감지되면 모든 향후의 질의들은 UCLA 네임 서버로 보내진다.
 그 도메인내의 특정 호스트에 대한 정보를 요청하기 위해 단지 그 호스트의 이름을 입력하기만 하면 된다. UCLA 도메인의 호스트들을 나열하기 위해서는 "ls" 명령을 치면 된다. ls 명령은 인자로 도메인 이름(ucla.edu)을 요구한다.
만약 사용자가 하나 이상의 도메인을 핸들링하는 네임 서버와 연결된다면, 호스트 이름들에 대한 모든 검색(lookups)은 그것의 도메인에 대해 확실하게 명시되어야 한다. 예를 들어 도메인 harvard.edu는 css.gov와 cornell.edu를 제공하는 seismo.css.gov에서 제공된다. 호스트 aiken에 대한 검색을 할 경우에는 aiken.harvard.edu.라고 쳐주어야 한다. 그러나 다음과 같은 명령어는 자동적으로 도메인 이름을 각 요구에 자동적으로 붙여준다.
set domain=name and set defname
특정 호스트에 대한 성공적인 검색(lookup)후에는 finger 명령을 사용하여 누가 시스템상에 있는지를 확인하거나 특정 사용자를 finger하라. 그 호스트에 대한 정보를 얻기 위해 다음과 같이 하여 요구되는 정보의 타입을 바꾸어 보아라.
set querytype=value
(2) 명령어 선상에서의 사용 방법
명령어선상에서 사용할 때의 그 사용법은 다음과 같다.
사용법: nslookup [ -opt ] [ host | - ] [ server ]
옵션 설명:
-opt 사용자에게 다음과 같이 대화형으로 옵션을 설정하도록 해주는 옵션 예) 기본 질의 타입 대신에 호스트 정보를 요정하기 위해서는 querytype=HINFO 를 사용한다. host 직접 타겟 호스트 정보를 반환한다.
/etc/resolv.conf파일에 명시된 네임 서버대신 "-" 다음의 [server]를 네임 서버로 지정하여 질의한다. server 기본 네임 서버 대신 사용할 특정 네임 서버의 이름
nslookup [-opt ...] # 디폴트 서버를 이용하는 대화형 방식으로 사용
nslookup [-opt ...] - server # 'server'를 이용하는 대화형 방식
nslookup [-opt ...] host # 디폴트 서버로 'host'를 lookup
nslookup [-opt ...] host server # 'server'를 이용 'host'를 lookup
다음은 명령어 선상에서 nslookup을 사용한 예제이다. 다음 예제에서는 먼저 www.chosun.com의 IP가 203.235.118.2임을 알아냈으며 두 번째로 동아일보 웹서버인 www.dongailbo.co.kr의 IP 주소가 210.115.128.1임을 알아냈으며 웹서버의 CPU가 SGI-IRIS-CHALLENGE/XL이며 OS가 IRIX임을 알아내었다. 또한 세 번째 예는 동아일보 웹서버를 kreonet의 네임 서버인 ns.kreonet.re.kr에 문의하여 CNAME 옵션을 사용하여 Canonical 네임인 ns.dongailbo.co.kr을 알아내었다.
DONGAILBO.co.kr nameserver = ns.dongailbo.co.kr
DONGAILBO.co.kr nameserver = ns.nuri.net
DONGAILBO.co.kr nameserver = ns2.dacom.co.kr
DONGAILBO.co.kr nameserver = ns.bora.net
ns.dongailbo.co.kr internet address = 210.115.128.1
ns.nuri.net internet address = 203.255.112.34
ns2.dacom.co.kr internet address = 164.124.107.9
ns.bora.net internet address = 164.124.101.2

$ nslookup -querytype=CNAME www.dongailbo.co.kr ns.kreonet.re.kr
Server: ns.kreonet.re.kr
Address: 134.75.30.1
Non-authoritative answer:
www.dongailbo.co.kr canonical name = ns.dongailbo.co.kr
Authoritative answers can be found from:
dongailbo.co.kr nameserver = ns.dongailbo.co.kr
dongailbo.co.kr nameserver = ns.nuri.net
dongailbo.co.kr nameserver = ns2.dacom.co.kr
ns.dongailbo.co.kr internet address = 210.115.128.1
ns.nuri.net internet address = 203.255.112.34
ns2.dacom.co.kr internet address = 164.124.107.9
$ nslookup www.chosun.com
Server: serims.seri.re.kr
Address: 134.75.96.150
Non-authoritative answer:
Name: www1.chosun.com
Address: 203.235.118.2
Aliases: www.chosun.com

$ nslookup -querytype=HINFO www.dongailbo.co.kr
Server: serims.seri.re.kr
Address: 134.75.96.150
Non-authoritative answer:
www.dongailbo.co.kr canonical name = ns.dongailbo.co.kr
ns.dongailbo.co.kr CPU = SGI-IRIS-CHALLENGE/XL OS = IRIX
Authoritative answers can be found from:
(3) 대화형 nslookup 사용 방법
대화형으로 nslookup을 사용할 때의 명령어는 80문자 제한을 가지며, 명령어가 아니면 호스트 이름으로 간주한다.
$ nslookup
Default Server: serims.seri.re.kr
Address: 134.75.96.150
> nslookup을 치면 위와 같이 대화형 모드로 실행되어 프롬프트(>)가 뜬다.
대화형으로 nslookup을 사용할 때의 이용 방법은 다음과 같다.
종료 : CTRL-D (EOF).
host [server] : 현재의 디폴트 서버를 사용하는 호스트에 대한 정보를 검색
server domain / lserver domain : 디폴트 서버를 domain으로 바꾼다.
root : 디폴트 서버를 그 도메인 네임 스페이스의 루트를 위한 서버로 바꾼다.
finger [ name ] : 현재의 호스트상에 있는 finger 서버와 연결
ls [-ah] : 도메인에 대해 이용 가능한 정보를 나열.
디폴트 출력은 호스트 이름과 IP 주소를 포함하며,
-a 옵션은 그 도메인에서의 호스트들의 aliases를 나열하며,
-h 옵션은 CPU와 운영체제 정보를 나열한다.
view filename : ls 명령의 결과를 more를 사용하여 정렬하여 나열한다.
help 또는 ? : 명령어에 대한 간단한 설명을 출력
set keyword [ = value ] : lookup에 영향을 미치는 상태 정보를 변경하는데 사용됨.
유효 keyword는 다음과 같음
all 설정 가능한 다양한 옵션의 목록 출력.현재 디폴트서버에 대한 옵션 정보가 함께출력됨
[no]deb[ug] 디버깅 모드를 on. 서버로 보내지는 패킷들에 대해
좀더 상세한 정보가 출력디폴트는 nodebug임
[no]def[name] 디폴트 도메인 네임을 모든 lookup마다 붙임
do[main]= filename 디폴트 도메인 네임을 filename으로 바꾼다.
q[querytype] = value 질의로부터 반환되는 정보의 타입을 value가 의미하는 값으로 바꿈
A 그 호스트의 IP 주소
CNAME alias의 canonical name
HINFO 호스트 CPU와 운영체제 타입
MD 메일 목적지
MX 메일 교환자(exchanger)
MB 메일박스 도메인 네임
MG 메일 그룹 멤버
MINFO 메일박스 또는 메일 리스트 정보
[no]recurse 네임 서버가 정보가 없으면 다른 서버에게 질의하여 알아오도록 요청.
디폴트는 recurse.
ret[ry] = count 재시도의 횟수 지정. 디폴트값은 2.
ro[ot] = host 루트 서버의 이름을 host로 변경. 디폴트 루트 서버는 ns.nic.ddn.mil.
t[timeout] = interval : 응답을 기다리는 타임-아웃값을 변경. 기본 10초
[no]v[c] 서버로 요구를 보낼 때 항상 가상 회선을 사용. 디폴트는 novc.
다음은 대화형으로 nslookup을 사용한 간단한 예제이다. 위에서 설명한 옵션들과 명령어들을 조합하여 연습해보기 바란다.
Set options:
nodebug defname search recurse
nod2 novc noignoretc port=53
querytype=A class=IN timeout=5 retry=4
root=a.root-servers.net.

domain=seri.re.kr
srchlist=seri.re.kr/re.kr
> set querytype=HINFO
> set nodef
> set all

Default Server: seri.re.kr
Address: 134.75.100.170

Set options:
nodebug nodefname search recurse
nod2 novc noignoretc port=53
querytype=HINFO class=IN timeout=5 retry=4
root=a.root-servers.net.

domain=seri.re.kr
srchlist=seri.re.kr/re.kr

> root
Default Server: a.root-servers.net
Address: 198.41.0.4

> www.etnews.co.kr
Server: a.root-servers.net
Address: 198.41.0.4

Authoritative answers can be found from:
KR nameserver = NS.KRNIC.NET
KR nameserver = NS2.INTERNIC.NET
KR nameserver = NS.RIPE.NET
KR nameserver = NS.KREONET.RE.KR
KR nameserver = NS.KREN.NE.KR
KR nameserver = NS.KORNET21.NET
NS.KRNIC.NET internet address = 202.30.64.21
NS2.INTERNIC.NET internet address = 198.41.0.11
NS.RIPE.NET internet address = 193.0.0.193
NS.KREONET.RE.KR internet address = 134.75.30.1
NS.KREN.NE.KR internet address = 147.47.1.1
NS.KORNET21.NET internet address = 168.126.63.1
> root
Default Server: a.root-servers.net
Address: 198.41.0.4
> lserver seri.re.kr
Default Server: seri.re.kr
Address: 134.75.100.170
> set all
Default Server: seri.re.kr
Address: 134.75.100.170