fixed line-wrapping in text files

This commit is contained in:
Babak Farrokhi 2016-04-08 12:28:12 +04:30
parent 08538cb754
commit 11badcd9c3
2 changed files with 33 additions and 29 deletions

View File

@ -2,33 +2,35 @@
DNS Diagnostics and Performance Measurement Tools DNS Diagnostics and Performance Measurement Tools
================================================== ==================================================
Ever been wondering your ISP is messing with your DNS traffic? Ever observed Ever been wondering your ISP is messing with your DNS traffic? Ever observed
any misbehavior with your DNS responses? Ever been redirected to wrong address any misbehavior with your DNS responses? Ever been redirected to wrong address
and suspected something is wrong with your DNS? and suspected something is wrong with your DNS? Here we have a set of tools to
Here we have a set of tools to perform basic tests on your DNS requests and responses. perform basic tests on your DNS requests and responses.
You can measure the response time of any given DNS server for arbitrary requests You can measure the response time of any given DNS server for arbitrary
using `dnsping`. Just like traditional ping utility, it gives you similar requests using `dnsping`. Just like traditional ping utility, it gives you
functionality for DNS requests. similar functionality for DNS requests.
You can also trace the path your DNS request takes to destination to You can also trace the path your DNS request takes to destination to make sure
make sure it is not being redirected or hijacked. This can be done by comparing it is not being redirected or hijacked. This can be done by comparing different
different DNS queries being sent to the same DNS server using `dnstraceroute` DNS queries being sent to the same DNS server using `dnstraceroute` and observe
and observe if there is any difference between the path. if there is any difference between the path.
`dnsperf` helps you choose the best DNS server for your network. While it is highly `dnsperf` helps you choose the best DNS server for your network. While it is
recommended to use your own DNS resolver and never trust any third-party DNS server, highly recommended to use your own DNS resolver and never trust any third-party
but in case you need to choose the best DNS forwarder for your network, `dnsperf` DNS server, but in case you need to choose the best DNS forwarder for your
lets you compare different DNS servers from performance (latency) and reliability network, `dnsperf` lets you compare different DNS servers from performance
(loss) point of view. (latency) and reliability (loss) point of view.
# prerequisites # prerequisites
This script requires python3 as well as latest [dnspython](http://www.dnspython.org/). This script requires python3 as well as latest
Please note that "dnstraceroute" requires a modified version of dnspython module, [dnspython](http://www.dnspython.org/). Please note that "dnstraceroute"
which is included. You just need to run `git submodule update --init` requires a modified version of dnspython module, which is included. You just
need to run `git submodule update --init`
# dnsping # dnsping
dnsping pings a DNS resolver by sending an arbitrary DNS query for given number of times: dnsping pings a DNS resolver by sending an arbitrary DNS query for given number
of times:
``` ```
% ./dnsping.py -c 3 -s 8.8.8.8 -t MX wikipedia.org % ./dnsping.py -c 3 -s 8.8.8.8 -t MX wikipedia.org
@ -41,12 +43,13 @@ DNSPING 8.8.8.8: hostname=wikipedia.org rdatatype=MX
3 requests transmitted, 3 responses received, 0% lost 3 requests transmitted, 3 responses received, 0% lost
min=145.201 ms, avg=154.388 ms, max=161.607 ms, stddev=8.378 ms min=145.201 ms, avg=154.388 ms, max=161.607 ms, stddev=8.378 ms
``` ```
This script calculates minimum, maximum and average response time as well as jitter This script calculates minimum, maximum and average response time as well as
jitter (stddev)
# dnsperf # dnsperf
dnsperf is a bulk ping utility that sends an arbitrary DNS query to a give dnsperf is a bulk ping utility that sends an arbitrary DNS query to a give list
list of DNS servers. This script is meant for comparing response time of of DNS servers. This script is meant for comparing response time of multiple
multiple DNS servers at once: DNS servers at once:
``` ```
% ./dnsperf.py wikipedia.org % ./dnsperf.py wikipedia.org
server avg(ms) min(ms) max(ms) stddev(ms) lost(%) server avg(ms) min(ms) max(ms) stddev(ms) lost(%)
@ -62,9 +65,10 @@ server avg(ms) min(ms) max(ms) stddev(ms) lost(%)
``` ```
# dnstraceroute # dnstraceroute
dnstraceroute is a traceroute utility to figure out the path that your DNS request is dnstraceroute is a traceroute utility to figure out the path that your DNS
passing through to get to its destination. You may want to compare it to your actual request is passing through to get to its destination. You may want to compare
network traceroute and make sure your DNS traffic is not routed to any unwanted path. it to your actual network traceroute and make sure your DNS traffic is not
routed to any unwanted path.
``` ```
% ./dnstraceroute.py -s 4.2.2.1 yahoo.com % ./dnstraceroute.py -s 4.2.2.1 yahoo.com

View File

@ -1,5 +1,5 @@
# todo # todo
- input sanitization - input sanitization
- implement basic DNS client functionality into dnstraceroute to eliminate need of modified dnspython module - implement basic DNS client functionality into dnstraceroute to eliminate need
of modified dnspython module
- add support for python 2.x for the conservatives and older people ;-) - add support for python 2.x for the conservatives and older people ;-)