DNS診斷和性能測量工具

DNS診斷和性能評估工具

有沒有想過您的ISP是否正在劫持您的DNS流量?您是否發現DNS響應有任何不當行爲?是否曾經被重定向到錯誤的地址,並且懷疑您的DNS有問題?在這裏,我們有一組工具可以對您的DNS請求和響應執行基本審覈,以確保您的DNS能夠按預期工作。

您可以使用來衡量任意給定DNS服務器對任意請求的響應時間dnsping。就像傳統的ping實用程序一樣,它爲DNS請求提供了類似的功能。

您還可以跟蹤DNS請求到達目標的路徑,以確保它沒有被重定向或劫持。這可以通過比較使用發送到同一DNS服務器的不同DNS查詢dnstraceroute並觀察路徑之間是否存在差異來完成。

dnseval評估多個DNS解析器,並幫助您爲網絡選擇最佳的DNS服務器。強烈建議您使用自己的DNS解析器,並且永遠不要信任任何第三方DNS服務器,但是如果您需要爲網絡選擇最佳的DNS轉發器,則dnseval可以比較不同DNS服務器的性能(延遲)和可靠性(損失)的觀點。

前提條件

此腳本需要python3以及最新的 dnspython和 cymruwhois

安裝

您可以使用幾種方法來使用此工具集。但是,始終建議使用源代碼。

從源代碼

  1. 您可以檢出此git repo及其子模塊
git clone https://github.com/farrokhi/dnsdiag.git
cd dnsdiag
pip3 install -r requirements.txt
  1. 您也可以使用pip安裝軟件包:
pip3 install dnsdiag

從二進制

有時會爲Windows,Mac OS X和Linux平臺發佈二進制版本。您可以從發佈頁面獲取最新版本。

dnsping

dnsping通過發送給定次數的任意DNS查詢來ping DNS解析器:

% ./dnsping.py -c 3 -t AAAA -s 8.8.8.8 dnsdiag.org
dnsping.py DNS: 8.8.8.8:53, hostname: dnsdiag.org, rdatatype: AAAA
4 bytes from 8.8.8.8: seq=0   time=123.509 ms
4 bytes from 8.8.8.8: seq=1   time=115.726 ms
4 bytes from 8.8.8.8: seq=2   time=117.351 ms

--- 8.8.8.8 dnsping statistics ---
3 requests transmitted, 3 responses received,   0% lost
min=115.726 ms, avg=118.862 ms, max=123.509 ms, stddev=4.105 ms

該腳本計算最小,最大和平均響應時間以及抖動(stddev)

dnstraceroute

dnstraceroute是一個traceroute實用程序,用於確定您的DNS請求通過其到達目的地的路徑。您可能需要將其與實際的網絡跟蹤路由進行比較,並確保您的DNS流量沒有路由到任何不需要的路徑。

% ./dnstraceroute.py --expert -C -t A -s 8.8.4.4 facebook.com
dnstraceroute.py DNS: 8.8.4.4:53, hostname: facebook.com, rdatatype: A
1    192.168.0.1 (192.168.0.1) 1 ms
2    192.168.28.177 (192.168.28.177) 4 ms
3    192.168.0.1 (192.168.0.1) 693 ms
4    172.19.4.17 (172.19.4.17) 3 ms
5    google-public-dns-b.google.com (8.8.4.4) 8 ms

=== Expert Hints ===
 [*] public DNS server is next to a private IP address (possible hijacking)

使用將指示dnstraceroute打印專家提示(例如可能的DNS流量劫持的警告)。--expert

dnsseval

dnseval是一個批量ping實用程序,可將任意DNS查詢發送到DNS服務器的給定列表。該腳本旨在一次比較多個DNS服務器的響應時間:

% ./dnseval.py -t AAAA -f public-servers.txt -c10 yahoo.com
server           avg(ms)     min(ms)     max(ms)     stddev(ms)  lost(%)  ttl     flags
------------------------------------------------------------------------------------------------------
8.8.8.8          270.791     215.599     307.498     40.630      %0       298     QR -- -- RD RA -- --
8.8.4.4          222.955     171.753     307.251     60.481      %10      291     QR -- -- RD RA -- --
ns.ripe.net      174.855     160.949     187.458     10.099      %0       289     QR -- -- RD RA -- --
4.2.2.1          172.798     163.892     189.918     7.823       %0       287     QR -- -- RD RA -- --
4.2.2.2          178.594     169.158     184.696     5.067       %0       285     QR -- -- RD RA -- --
4.2.2.3          153.574     138.509     173.439     12.015      %0       284     QR -- -- RD RA -- --
4.2.2.4          153.182     141.023     162.323     6.700       %0       282     QR -- -- RD RA -- --
4.2.2.5          154.840     141.557     163.889     7.195       %0       281     QR -- -- RD RA -- --
209.244.0.3      156.270     147.320     161.365     3.958       %0       279     QR -- -- RD RA -- --
209.244.0.4      159.329     151.283     163.726     3.958       %0       278     QR -- -- RD RA -- --
195.46.39.39     171.098     163.612     181.147     5.067       %0       276     QR -- -- RD RA -- --
195.46.39.40     175.335     160.920     185.618     8.726       %0       274     QR -- -- RD RA -- --
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章