◎名稱
dnstracer - trace a chain of DNS servers to the source
◎描述
dnstracer 可以判斷dns server從哪裡取得權威性的DNS紀錄,並將其顯示出來.
◎運作方式
dnstracer經由最初設定的dns伺服器,送出非遞迴的名稱查詢.
非遞迴查詢:若dns伺服器知道查詢的結果,則回傳資料.
若不知道確切的結果,則將dns指標到較接近的伺服器.
若該dns伺服器回應權威性的答案,那麼該伺服器就是查詢的下一站.
若該dns伺服器回應非權威性的答案,則依照該伺服器回應的可能指標繼續查詢.
dnstracer這個程式,會在全部權威性dns伺服器查詢結果後停止.
請確認,你最初的查詢dns伺服器沒有將查詢forward到其他dns伺服器.
dnstracer將不會發覺有此一改變.
dnstracer也會檢測出那些有錯誤的dns伺服器.(那些應該要有dns紀錄,卻沒有的伺服器.)
◎安裝 ( 2004註解:路徑 /usr/ports/dns/dnstop )
◎語法 dnstracer [options] name
◎參數
-c 取消local的cache紀錄.
-o 在dnstracer的最後產生一個概覽紀錄.
-q queryclass 改變查詢的class,預設的class是A.
有下列class可以用 a, aaaa,a6, cname, hinfo, mx, ns, txt.
-r retrIEs 查詢失敗,重新查詢的次數.(預設為3次)
-s server 設定最初發出查詢的dns伺服器.(預設是系統的dns伺服器)
若採用 . 則表示使用 A.ROOT-SERVERS.NET
-t timeout 等待回應的時間(timeout).預設為15秒
-v 是否採用verbose模式.
◎舉例說明
A:以B.ROOTSERVERS.NET為最初的伺服器,查詢ohaha.ks.edu.tw的權威DNS伺服器.
# ndstracer -s B.ROOTSERVERS.NET ohaha.ks.edu.tw
可以看出moesun.edu.tw伺服器有cache的狀況.如圖:
B:以B.ROOTSERVERS.NET為最初的伺服器,查詢ohaha.ks.edu.tw的權威DNS伺服器.但配合-c參數,清除cache.
# ndstracer -c -s B.ROOTSERVERS.NET ohaha.ks.edu.tw
可以將原先moesun.edu.tw的cache的狀況解析出來.如圖:
C:Lame Server (那些應該要有dns紀錄,卻沒有的伺服器.)
◎作者
Edwin Groothuis, edwin@mavetju.org
(http://www.mavetju.org/)
◎參考資料
dnstracer(8)
标签:


