NSLOOKUP(8)

명칭
nslookup - 인터넷 네임서버에 대화적으로 문의한다

서식
nslookup [-option ...] [host-to-find | - [server]]

해설
nslookup (은)는 인터넷 네임서버에 문의를 실시합니다. nslookup 에는 대화 모드와 비대화 모드의 2 개의 모드가 있습니다. 대화 모드에서는, 여러가지 호스트나 도메인의 정보를 네임서버에 대해서 문의하거나 어느 도메인내의 호스트 일람을 표시할 수가 있습니다. 비대화 모드에서는, 어느 호스트 혹은 도메인의 이름 및 요구한 정보만이 표시됩니다.

인수
다음의 경우는 대화 모드에 들어갑니다.

a)  인수가 주어지지 않았을 때 (디폴트의 네임서버를 이용합니다).

b)  최초의 인수가 하이픈 (-)이며, 2 번째의 인수가 네임서버의 호스트명 혹은 IP 주소일 때.

검색하고 싶은 호스트의 이름 혹은 IP 주소가 최초의 인수로서 주어졌을 경우는, 비대화 모드가 됩니다. 2 번째의 인수는 옵션으로, 네임서버의 호스트명 혹은 IP 주소를 지정합니다.

“set” 명령을 사용하는 옵션은, 홈 디렉토리의 .nslookuprc 파일에 1 행에 1 개씩 쓰는 것도 지정할 수 있습니다. 옵션은 명령행으로 지정하는 일도 가능합니다. 그 경우, 전에 하이픈을 적어 인수보다 먼저 씁니다. 예를 들어, 디폴트의 문의를 호스트 정보로 변경해, 초기 타임 아웃을 10 초로 하려면 ,

    	nslookup -query=hinfo  -timeout=10

(으)로 합니다.

대화 명령
명령은 control-C 를 입력하는 것으로 언제라도 중단할 수 있습니다. 종료하려면 , control-D (EOF) 혹은 exit (을)를 입력합니다. 명령행의 길이는 256 캐릭터 이하가 아니면 안됩니다. 내부 명령을 호스트명으로서 취급하려면 , 이스케이프 캐릭터 (\) (을)를 머리에 붙입니다. 주의: 해석할 수 없는 명령은 호스트명으로서 다루어집니다.

host [server]
    host 에 대한 정보를 현재의 디폴트 서버, 혹은 server 하지만 지정되어 있는 경우는 그 서버에 문의합니다. host 하지만 IP 주소이며, 문의 타입이 A 혹은 PTR 일 때는, 호스트명이 돌려주어집니다. host 가 이름이며, 마지막에 피리어드가 없을 때에는, 그 뒤로 디폴트의 도메인명이 부가됩니다 (이 동작은, set 옵션의 domain, srchlist, defname, search 에 의존합니다).

    현재의 도메인에 없는 호스트에 대해 조사할 때는, 이름의 말미에 피리어드를 부가합니다.

server domain

lserver domain
    디폴트 서버를 domain (으)로 변경합니다. lserver 하 domain 에 대한 정보를 찾는데 초기 서버를 사용해, server (은)는 현재의 디폴트 서버를 사용합니다. 공식의 대답이 발견되지 않을 때에는, 대답을 가질 가능성이 있다 서버명이 돌려주어집니다.

root
    디폴트 서버를 도메인명 공간의 루트 서버로 변경합니다. 현재로서는 호스트 ns.internic.net 하지만 사용됩니다 (이 명령은 “lserver ns.internic.net” 에 동의입니다). 루트 서버명은 “set root” 명령로 변경할 수 있습니다.

finger [name]
    [> filename]

finger [name]
    [>> filename] 현재의 호스트에 있는 FINGER 서버와 접속합니다. 현재의 호스트는, 이전의 문의가 성공해, 주소 정보가 돌려주어졌을 때에 정의됩니다 “(set querytype=A” 참조). name 는 옵션입니다. > (와)과 >> (은)는 보통으로 출력을 리디렉트 하는데 사용할 수 있습니다.

ls [option]
    domain [> filename]

ls [option]
    domain [>> filename] domain 에 붙어 입수할 수 있는 정보의 일람을 냅니다. 옵션으로 파일 filename (을)를 작성 혹은 filename 에 추가할 수 있습니다. 디폴트의 출력에는 호스트명과 그 IP 주소가 포함됩니다. option (은)는 아래와 같은 머지않아인가입니다.

    -t querytype
        지정한 타입의 전레코드의 일람을 출력합니다 (아래와 같은 querytype 참조).

    -a  그 도메인내에서의, 각 호스트의 앨리어스(alias) 일람을 출력합니다. “-t CNAME” (와)과 동의입니다.

    -d  그 도메인의 전레코드의 일람을 출력합니다. “-t ANY” (와)과 동의입니다.

    -h  그 도메인의 CPU 및 OS 정보를 출력합니다. “-t HINFO” (와)과 동의입니다.

    -s  그 도메인내의 호스트의 잘 알려진 (well-known) 서비스의 일람을 출력합니다. “-t WKS” (와)과 동의입니다.

    출력이 파일에 리디렉트 될 때는, 서버로부터 50 레코드를 받을 때마다 해시 마크가 표시됩니다.

view filename
    직전의 ls 명령의 출력을 늘어놓고 바꾸어 more(1) 그리고 출력합니다.

help

?   명령의 간단한 요약을 표시합니다.

exit
    프로그램을 종료합니다.

    set keyword[=value] 이 명령은 탐색에 영향을 주는 옵션을 변경하는데 사용됩니다. 유효한 keyword 는 이하와 같습니다.

    all 잘 사용된다 set 의 옵션의 현재의 값을 표시합니다. 현재의 디폴트 서버와 호스트에 관한 정보도 표시됩니다.

    class=value
        문의의 클래스를 다음의 어느 쪽인가에 변경합니다.

        IN  인터넷 클래스.

        CHAOS
            chaos 클래스.

        HESIOD
            MIT Athena Hesiod 클래스.

        ANY 상기 모두.

        클래스는 정보의 프로토콜 그룹을 특정합니다.

        (디폴트 = IN; 약기 = cl)

        [no]debug 디버그 모드로 합니다. 서버에 보내지는 패킷과 거기에 대하는 대답에 대해, 보다 많은 정보가 표시됩니다.

        (디폴트 = nodebug; 약기 = [no]deb)

        [no]d2 상세한 디버그 모드로 합니다. 패킷 마다 중요한 모든 필드가 표시됩니다.

        (디폴트 = nod2)

    domain=name
        디폴트 도메인명을 name 로 변경합니다. defname (와)과 search 옵션의 설정에 응해, 탐색 요구되는 호스트명에 디폴트 도메인명이 부가됩니다. 디폴트 도메인명이 2 개 이상의 요소로부터 될 때, 도메인 서치 리스트에는 디폴트 도메인의 부모가 포함됩니다. 예를 들어, 디폴트 도메인명이 CC.Berkeley.EDU 일 때, 서치 리스트는 CC.Berkeley.EDU 및 Berkeley.EDU 입니다. 다른 리스트를 지정하려면 , “set srchlist” 명령을 사용합니다. 이 리스트를 표시하려면 , “set all” 명령을 사용합니다.

        (디폴트 = hostname(1) (으)로부터 얻은 값, /etc/resolv.conf 혹은 LOCALDOMAIN; 약기 = do)

        srchlist= name1/ name2/ ... 디폴트 도메인명을 name1 (으)로 해, 도메인 서치 리스트를 name1, name2, etc. (으)로 변경합니다. slash (/)로 단락지어 최대 6 개(살)까지 지정 가능합니다. 예를 들어

            set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU

        의 경우, 도메인을 lcs.MIT.EDU 로 해, 서치 리스트를 위의 3 개의 이름에 설정합니다. 이 명령은, “set domain” 명령에 의한 디폴트 도메인명과 서치 리스트를 덧쓰기합니다. 리스트를 표시하려면 , “set all” 명령을 사용합니다.

        (디폴트 = hostname(1) 에 근거하는 값, /etc/resolv.conf 혹은 LOCALDOMAIN; 약기 = srchl)

        [no]defname 이것이 설정되면(자), 단일 요소로부터 되는 문의 (즉 피리어드가 없는 걸) 에 대해서, 지정한 디폴트 도메인명이 부가됩니다.

        (디폴트 = defname; 약기 = [no]defname)

        [no]search 문의 요구에 피리어드가 적어도 1 개(살) 포함되어 있지만 피리어드로 끝나 없다 경우, 대답이 받아들일 때까지, 도메인 서치 리스트내의 도메인명을 부가합니다.

        (디폴트 = search; 약기 = [no]sea)

    port=value
        디폴트의 네임서버의 TCP/UDP 포트를 value (으)로 변경합니다.

        (디폴트 = 53; 약기 = po)

    querytype=value

    type=value
        문의하는 정보의 종류를 변경합니다. 정보는 다음 중 머지않아인가입니다.

        A   호스트의 IP 주소.

        CNAME
            별명에 대한 정식명.

        HINFO
            호스트의 CPU 와 OS 의 종류.

        MINFO
            메일 박스 혹은, 메일 리스트에 관한 정보.

        MX  메일 교환 호스트.

        NS  그 이름 공간내의 네임서버.

        PTR 문의가 IP 주소이면 호스트명, 그렇지 않으면 그 이외의 정보에의 포인터.

        SOA 도메인의 “권위 개시 (start-of-authority)” 정보.

        TXT 텍스트 정보.

        UINFO
            유저 정보.

        WKS 서포트한다, 잘 알려진 서비스.

        다른 타입 (ANY, AXFR, MB, MD, MF, NULL) 에 대해서는, 문서 RFC-1035 에 쓰여져 있습니다.

        (디폴트 = A; 약기 = q, ty)

        [no]recurse 서버가 정보를 가지고 있지 않을 때에, 다른 서버에 문의하는 듯 지시합니다.

        (디폴트 = recurse; 약기 = [no]rec)

    retry=number
        리트라이 회수를 number 회로 합니다. 요구에 대한 대답을 있는 시간내 “(set timeout” 그리고 변경할 수 있다)에 받지 않았을 때, 타임 아웃 기간은 2 배로 되어 요구가 재발송됩니다. retry 의 값은, 포기하기까지 요구를 몇회 재발송할까를 결정합니다.

        (디폴트 = 4, 약기 = ret)

    root=host
        루트 네임서버명을 host (으)로 변경합니다. 이것은 “root” 명령에 영향을 줍니다.

        (디폴트 = ns.internic.net; 약기 = ro)

    timeout=number
        대답을 기다리는 초기 타임 아웃 간격을 number 초로 변경합니다. 리트라이마다 타임 아웃 간격은 배가 됩니다.

        (디폴트 = 5 초; 약기 = ti)

        [no]vc 서버에 요구를 낼 때, 항상 가상 회로 (virtual circuit)(을)를 사용합니다.

        (디폴트 = novc; 약기 = [no]v)

        [no]ignoretc 파켓트트란케이션에라를 무시합니다.

        (디폴트 = noignoretc; 약기 = [no]ig)

진단
문의가 실패했을 경우, 에러 메세지가 표시됩니다. 에러에는 다음과 같은 것이 있습니다.

Timed out
    서버에 대한 요구를, “(set timeout=value” 그리고 변경할 수 있다) 있는 시간 의 사이에 “( set retry=value ” 그리고 변경할 수 있다) 있는 회수만 리트라이 했습니다만, 응답하지 않았습니다.

response from server
    서버머신으로 네임서버가 움직이고 있지 않습니다.

records
    호스트명은 올바릅니다만, 그 호스트에 대해 현재의 문의에 관한 정보를 서버가 가지고 있지 않습니다. 문의하는 정보는 “set querytype” 명령로 지정할 수 있습니다.

Non-existent domain
    그 호스트명 혹은 도메인명이 존재하지 않습니다.

Connection refused

Network is unreachable
    현재로서는 네임서버 혹은 FINGER 서버에 대해서 접속할 수 없습니다. 이 에러는 일반적으로 ls (와)과 finger 요구에 대해서 일어납니다.

Server failure
    네임서버가 내부에서 데이타베이스의 모순을 발견했기 때문에 올바른 대답을 돌려줄 수 없었습니다.

Refused
    네임서버가 요구에 대한 서비스를 거부했습니다.

Format error
    네임서버는 요구 패킷이 적절한 포맷으로 되어 있지 않으면 판단했습니다. nslookup 안에 에러가 있는지도 모릅니다.

관련 파일
/etc/resolv.conf
    도메인명의 초기치와 네임서버의 주소를 기술하는 파일입니다.
$HOME/.nslookuprc
    유저용의 초기화 옵션을 기술하는 파일입니다.
/usr/share/misc/nslookup.help
    명령의 요약입니다.

환경 변수
HOSTALIASES
    호스트명의 앨리어스(alias)를 기술한 파일.
LOCALDOMAIN
    디폴트 도메인을 덧쓰기합니다.

관련 항목
named(8), resolver(3), resolver(5); RFC-1034, “Domain Names - Concepts and Facilities”; RFC-1035, “Domain Names - Implementation and Specification”

저자
Andrew Cherenson