2009年9月18日 星期五

nslookup_dig_DNS查詢 使用說明 for Linux


================================================
nslookup_dig_DNS查詢 使用說明 for Linux
by AYO 阿佑

================================================
前言:
有時候,需要經由查詢 DNS 來調查,
網域名稱是否有異常等等問題,nslookup 經常使用到,
而 Windows & Linux 這兩個作業系統通通都有 nslookup 喔!!

並且很神奇的是 Windows & Linux 的 nlsookup 用法,
還非常類似,幾乎相同的,

而 Windows 作業系統當中,僅有 nslookup 內建可以使用,
Linux 作業系統則除了 nlsookup 之外,還有 dig 這個工具可以使用

繼上次介紹過 Windows nslookup 之後,本次就來介紹一下,
Linux 作業系統當中的 nslookup & dig 囉!

================================================
那 Linux 作業系統下的 nslookup 和 dig 如何使用呢?

01. 先行說明 nslookup,Linux 作業系統下,
    nslookup 可以分為兩種操作方式,
    interactive / noninteractive 兩種,就是 互動式 / 非互動式,
    這兩種差別在 interactive 互動式,採用的是 一問一答 的方式,
    因此比較慢,指令短,比較符合人性的感覺,但是不利於程式化,
    noninteractive 非互動式,採用的是 一口氣輸入全部的需求,
    一口氣給您要的全部答案,因此好處就是 回應快,
    能一下子拿到全部的資料,利於程式化,但是指令長,
    說明完 interactive / noninteractive 之後,下面來看兩個範例

02. 這是 Linux 作業系統,nslookup interactive 互動式 DNS 查詢 範例,
    輸入 nslookup,則可進入 nslookup 互動模式,
    set type=any 此意思是說
    列出全部相關要查詢網域名稱 或者 IP 的全部資料,
    輸入本次測試目標 sina.com.tw
    (會挑此當測試目標的理由是 這個顯示的 DNS 資料,
    是標準資料,比較利於講解)

    sina.com.tw     nameserver = ns1.sina.com.tw.
    sina.com.tw     nameserver = ns2.sina.com.tw.
    這邊是指 sina.com.tw 的 DNS Server

    sina.com.tw  internet address = 210.17.38.45
    這邊就是指 sina.com.tw 的 IP 囉!

    sina.com.tw     mail exchanger = 10 mp.sina.com.tw.
    這邊就是指 sina.com.tw 的 mail server

以下是完整範例內容 :

[root@test ~]# nslookup
set type=any
sina.com.tw
Server:         168.95.1.1
Address:        168.95.1.1#53

Non-authoritative answer:
sina.com.tw     nameserver = ns1.sina.com.tw.
sina.com.tw     nameserver = ns2.sina.com.tw.
sina.com.tw
        origin = ns1.sina.com.tw
        mail addr = syseng.staff.sina.com.tw
        serial = 2009071001
        refresh = 10800
        retry = 3600
        expire = 604800
        minimum = 86400
sina.com.tw     mail exchanger = 10 mp.sina.com.tw.

Authoritative answers can be found from:
sina.com.tw     nameserver = ns1.sina.com.tw.
sina.com.tw     nameserver = ns2.sina.com.tw.
ns1.sina.com.tw internet address = 210.17.38.136
ns2.sina.com.tw internet address = 210.17.38.137
mp.sina.com.tw  internet address = 210.17.38.39

03. 這是 nslookup noninteractive 非互動式 DNS 查詢 範例,
    輸入 nslookup -type=any sina.com.tw 168.95.192.1,
    就可以進入 nslookup 非互動模式,的完整命令,
    -type=any 此意思是說
    列出全部相關要查詢網域名稱 或者 IP 的全部資料,
    輸入本次測試目標 sina.com.tw
    (會挑此當測試目標的理由是 這個顯示的 DNS 資料,
    是標準資料,比較利於講解)
    最後的 168.95.192.1 這是指要去哪台 DNS Server 去查詢 sina.com.tw,
    (168.95.192.1 這是 HiNet DNS Server)

    sina.com.tw     nameserver = ns1.sina.com.tw.
    sina.com.tw     nameserver = ns2.sina.com.tw.
    這邊是指 sina.com.tw 的 DNS Server

    sina.com.tw  internet address = 210.17.38.45
    這邊就是指 sina.com.tw 的 IP 囉!

    sina.com.tw     mail exchanger = 10 mp.sina.com.tw.
    這邊就是指 sina.com.tw 的 mail server

以下是完整範例內容 :

[root@test ~]# nslookup -type=any sina.com.tw 168.95.192.1
Server:         168.95.192.1
Address:        168.95.192.1#53

Non-authoritative answer:
sina.com.tw     nameserver = ns1.sina.com.tw.
sina.com.tw     nameserver = ns2.sina.com.tw.
sina.com.tw
        origin = ns1.sina.com.tw
        mail addr = syseng.staff.sina.com.tw
        serial = 2009071001
        refresh = 10800
        retry = 3600
        expire = 604800
        minimum = 86400
sina.com.tw     mail exchanger = 10 mp.sina.com.tw.

Authoritative answers can be found from:
sina.com.tw     nameserver = ns1.sina.com.tw.
sina.com.tw     nameserver = ns2.sina.com.tw.
ns1.sina.com.tw internet address = 210.17.38.136
ns2.sina.com.tw internet address = 210.17.38.137
mp.sina.com.tw  internet address = 210.17.38.39

[root@test ~]#

04. 這是 Linux 作業系統 獨有的指令 dig DNS 查詢 範例,
    dig 這個指令僅支援 noninteractive 非互動模式 DNS 查詢,
    所以使用 dig 時,就只能一口氣完整輸入指令囉!
    輸入 dig @168.95.192.1 any sina.com.tw,
    跟上面的 兩個範例都一樣,
    使用 any 的方式透過 168.95.192.1 來查詢 sina.com.tw,
    any 此意思是說 列出全部相關要查詢網域名稱 或者 IP 的全部資料,
    輸入本次測試目標 sina.com.tw
    (會挑此當測試目標的理由是 這個顯示的 DNS 資料,
    是標準資料,比較利於講解)
    @168.95.192.1 這是指要去哪台 DNS Server 去查詢 sina.com.tw,
    (168.95.192.1 這是 HiNet DNS Server)

    sina.com.tw.            86400   IN      NS      ns1.sina.com.tw.
    sina.com.tw.            86400   IN      NS      ns2.sina.com.tw.
    這邊是指 sina.com.tw 的 DNS Server

    sina.com.tw.            84492   IN      A       210.17.38.45
    這邊就是指 sina.com.tw 的 IP 囉!

    sina.com.tw.            83794   IN      MX      10 mp.sina.com.tw.
    這邊就是指 sina.com.tw 的 mail server

    附帶一提 86400 這些數字是什麼意思呢?? 這邊指的是 TTL 交換時間,
    意指間隔 86400(秒) 就交換進行 DNS 交換,這邊的單位是 秒,
    86400 秒 = 60(一分鐘60秒) * 60(一小時60分) * 24(一天24小時)
    = 間隔 1 天 進行 DNS 交換

以下是完整範例內容 :

[root@test ~]# dig @168.95.192.1 any sina.com.tw
; DiG 9.3.4 @168.95.192.1 any sina.com.tw
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; HEADER - opcode: QUERY, status: NOERROR, id: 19791
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION:
;sina.com.tw.                   IN      ANY

;; ANSWER SECTION:
sina.com.tw.            86400   IN      NS      ns1.sina.com.tw.
sina.com.tw.            86400   IN      NS      ns2.sina.com.tw.
sina.com.tw.            83055   IN      A       210.17.38.45
sina.com.tw.            83446   IN      SOA     ns1.sina.com.tw. syseng.staff.sina.com.tw. 2009071001
sina.com.tw.            83794   IN      MX      10 mp.sina.com.tw.

;; AUTHORITY SECTION:
sina.com.tw.            86400   IN      NS      ns1.sina.com.tw.
sina.com.tw.            86400   IN      NS      ns2.sina.com.tw.

;; ADDITIONAL SECTION:
ns1.sina.com.tw.        86400   IN      A       210.17.38.136
ns2.sina.com.tw.        86400   IN      A       210.17.38.137
mp.sina.com.tw.         86173   IN      A       210.17.38.39

;; Query time: 16 msec
;; SERVER: 168.95.192.1#53(168.95.192.1)
;; WHEN: Fri Sep 18 13:07:26 2009
;; MSG SIZE  rcvd: 225

[root@test ~]#

================================================
篇後語:

雖然 nslookup 對一般來人說比較少用,
但是 DNS 是非常重要的一樣服務,
對一般人來說,DNS Server 的存在好比空氣,
空氣存在一般人都沒什麼感覺,
覺得空氣好像沒什麼價值,但是一但完全沒有空氣,
那可是沒有辦法活命超過 10 分鐘的喔!
已 DNS 服務來說,就類似這種狀況,
網路泰半都是用 網域名稱來做服務,例如: tw.yahoo.com,甚少用 IP,
因此 DNS 服務就是把 網域名稱 轉換成 IP 的一個重要服務,

nslookup 學一下,有幾個好處:

A. 可以用來測試 自己設定的 DNS 是否可以解析,
   如果不能解析,就換一個,如果不換,想必完全沒辦法上網

B. 自己申請網域名稱,或者是要查詢某個網域名稱是否正常時,
   就派上用場了

C. 查詢對方網域名稱,或者 IP 是否偽造,可以自己進行 double check

================================================
歡迎轉載,但請務必說明原出處

歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/



沒有留言:

張貼留言