================================================
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/
沒有留言:
張貼留言