Linux常用工具(网络篇-dns-dnsdiag)
项目地址
- dnsdiag-github
DNS 测量、故障排除和安全审计工具集,包括了dnsping、dnstraceroute、dnseval.
dnsping
该项目的dnsping通过发送给定次数的任意DNS查询来ping DNS解析器。
以下是一些有用的标志:
• 使用–tcp、–tls和–doh选择传输协议,默认为UDP。
• 使用–flags显示每个响应的响应标志。
• 如果可用,使用–dnssec请求DNSSEC。
root@debian:~# dnsping -c 3 --dnssec --flags -tls -t A -s 223.5.5.5 baidu.com
dnsping DNS: 223.5.5.5:53, hostname: baidu.com, proto: UDP, rdatatype: A, flags: RD
70 bytes from 223.5.5.5: seq=1 time=27.380 ms [QR RD RA] NOERROR
70 bytes from 223.5.5.5: seq=2 time=21.397 ms [QR RD RA] NOERROR
70 bytes from 223.5.5.5: seq=3 time=20.726 ms [QR RD RA] NOERROR
--- 223.5.5.5 dnsping statistics ---
3 requests transmitted, 3 responses received, 0% lost
min=20.726 ms, avg=23.167 ms, max=27.380 ms, stddev=3.663 ms
它还显示统计数据,如最小、最大和平均响应时间以及抖动(stddev)和丢包情况。
对于dnsping有几种有趣的用途:
• 比较不同传输协议下的响应时间(例如 UDP vs DoH)
• 测量您的DNS服务器可靠性,通过测量抖动和丢包情况
• 当启用DNSSEC时测量响应时间使用—-dnssec
dnstraceroute
dnstraceroute是一个用于查找DNS请求经过的路径的路由跟踪工具。您可能希望将其与实际网络路由跟踪进行比较,并确保您的DNS流量没有被路由到任何不需要经过的路径。
除了UDP,它还支持TCP作为传输协议,使用–tcp标志。
使用–expert将指示dnstraceroute打印专家提示(例如警告可能发生DNS流量劫持,公共服务器显示私有ip)。
root@debian:~# dnstraceroute --expert -asn -C -t A -s 192.168.11.1 baidu.com
dnstraceroute DNS: 192.168.11.1:53, hostname: baidu.com, rdatatype: A
1 192.168.12.1 (192.168.12.1) 1.385 ms
2 192.168.11.1 (192.168.11.1) 22.764 ms
dnseval
dnseval是一个批量ping实用程序,它向给定的DNS服务器列表发送任意DNS查询。该脚本旨在一次比较多个DNS服务器的响应时间。
可以使用dnseval来比较不同传输协议(如UDP(默认)、TCP、DoT和DoH)的响应时间,分别使用–tcp、–tls和–doh。
root@debian:~# dnseval -t A -f pub.txt -c 10 baidu.com
server avg(ms) min(ms) max(ms) stddev(ms) lost(%) ttl flags response
------------------------------------------------------------------------------------------------------------------------------
1.0.0.1 0.000 0.000 0.000 0.000 %100 N/A -- -- -- -- -- -- -- No Response
1.1.1.1 213.952 205.709 234.402 8.230 %0 260 QR -- -- RD RA -- -- NOERROR
2606:4700:4700::1001 0.000 0.000 0.000 0.000 %100 N/A -- -- -- -- -- -- -- No Response
2606:4700:4700::1111 0.000 0.000 0.000 0.000 %100 N/A -- -- -- -- -- -- -- No Response
195.46.39.39 259.091 206.393 356.302 40.161 %0 306 QR -- -- RD RA -- -- NOERROR
195.46.39.40 226.919 197.342 271.232 30.329 %0 274 QR -- -- RD RA -- -- NOERROR
208.67.220.220 59.062 55.185 65.650 3.265 %0 172 QR -- -- RD RA -- -- NOERROR