mirror of https://framagit.org/kyodev/kyopages.git
151 lines
6.1 KiB
Markdown
151 lines
6.1 KiB
Markdown
![]() |
# nstest
|
||
|
|
||
|
|
||
|
![version: v1.6](https://img.shields.io/badge/version-1.6%20-blue.svg?longCache=true&style=for-the-badge)
|
||
|
![bash langage](https://img.shields.io/badge/bash-version4-brightgreen.svg)
|
||
|
![status](https://img.shields.io/badge/status-release-green.svg)
|
||
|
![license LPRAB / WTFPL](https://img.shields.io/badge/license-LPRAB%20%2F%20WTFPL-blue.svg)
|
||
|
|
||
|
|
||
|
This script tests several open DNS servers and/or servers which names must be present in `resolv.conf` or in another file.
|
||
|
|
||
|
It's written in bash only for speed, except for `dig` (required) and `sort` (not required but useful for the sort)
|
||
|
|
||
|
The results are sorted on average times.
|
||
|
|
||
|
`dig` is delivered in dnsutils package (`apt install dnsutils` on debian).
|
||
|
`drill` (package ldns) can be used, but is not advisable, no management of timeout, except if I don't know how to read a manual.
|
||
|
|
||
|
It can be exported the report on a pastebin for easy exchange.
|
||
|
|
||
|
|
||
|
## usage
|
||
|
|
||
|
```text
|
||
|
_ _
|
||
|
_ __ ___| |_ ___ ___| |_
|
||
|
| '_ \/ __| __/ _ \/ __| __|
|
||
|
| | | \__ \ || __/\__ \ |_
|
||
|
|_| |_|___/\__\___||___/\__| -h
|
||
|
version: 1.6 02/06/2018
|
||
|
|
||
|
usage: nstest [options] ( options and arguments must be SEPARATED by one space )
|
||
|
|
||
|
-4, -6, -46 : protocols to use: ipv4, ipv6, ipv4 & ipv6. by default, the protocol(s) used in the net layer
|
||
|
--bench : run with all lists of domains to test
|
||
|
--dev : use dev branch for update or for version number
|
||
|
--drill : drill is forced if existing, otherwise dig has priority
|
||
|
-e, --export : export on a pastebin
|
||
|
-c, --compress: no extended report, only time averages
|
||
|
-d, --domains : choice between 3 test domain lists: base (defaut), alt, atld, or easy
|
||
|
-f, --file : the ip in <file> are tested, replace /etc/resolv.conf. format: ip[ # name] per line
|
||
|
--nodns : only the nameservers in /etc/resolv.conf or in <file> are tested, no other dns servers used
|
||
|
--noresolv: the file /etc/resolv.conf is not read, implied with --file
|
||
|
--nosort : no sorted report on average column
|
||
|
--opt : print list of dns servers and domains used for tests
|
||
|
-h, --help : this help
|
||
|
-s, --sort : sort on domain number
|
||
|
-u, --upgrade : load and replace the script in place
|
||
|
-v, --version : version of the script online and in place
|
||
|
|
||
|
examples:
|
||
|
./ntest : full report, with nameservers in /etc/resolv.conf and few open DNS servers
|
||
|
./ntest --nodns --compress : report with only averages with only nameservers in /etc/resolv.conf
|
||
|
./ntest -e --noresolv : export on a pastebin, to exchange a test
|
||
|
./ntest --noresolv -d easy : full report, with domains to test easy, performances are better (responses in cache DNS)
|
||
|
./ntest -h -d alt : this help, with domain list alt(ernative)
|
||
|
./ntest --opt : displays all parameters
|
||
|
./ntest --sort 5 : sort on domain number 5
|
||
|
./ntest --bench --noresolv : bench for all open DNS, protocols configured in the net layer
|
||
|
./ntest --bench --nodns : bench for names's servers in resolv.conf, protocols configured in the net layer
|
||
|
|
||
|
more info: https://framaclic.org/h/doc-nstest
|
||
|
|
||
|
```
|
||
|
|
||
|
## download
|
||
|
|
||
|
```shell
|
||
|
git clone https://framagit.org/sdeb/nstest.git
|
||
|
# or
|
||
|
git clone git@framagit.org:sdeb/nstest.git
|
||
|
# or
|
||
|
curl -OL https://framaclic.org/h/nstest
|
||
|
# or
|
||
|
wget -nv -O nstest https://framaclic.org/h/nstest
|
||
|
|
||
|
# if necessary:
|
||
|
chmod +x nstest
|
||
|
```
|
||
|
|
||
|
## DNS servers and domains tested
|
||
|
|
||
|
```text
|
||
|
ipv4:
|
||
|
adguard ( 176.103.130.130 ) alternate_dns ( 23.253.163.53 )
|
||
|
cleanbrowsing ( 185.228.168.168 ) cloudflare ( 1.1.1.1 )
|
||
|
comodo ( 8.26.56.26 ) dns_watch ( 84.200.69.80 )
|
||
|
dyn_oracle ( 216.146.35.35 ) freedns ( 37.235.1.174 )
|
||
|
freenom ( 80.80.80.80 ) google ( 8.8.8.8 )
|
||
|
level3 ( 209.244.0.3 ) neustar ( 156.154.70.1 )
|
||
|
norton ( 199.85.126.10 ) opendns ( 208.67.222.222 )
|
||
|
quad9 ( 9.9.9.9 ) uncensoredDNS ( 91.239.100.100 )
|
||
|
verisign ( 64.6.64.6 ) yandex ( 77.88.8.8 )
|
||
|
|
||
|
ipv6:
|
||
|
adguard ( 2a00:5a60::ad1:0ff ) cloudflare ( 2606:4700:4700::1001 )
|
||
|
dns_watch ( 2001:1608:10:25::1c04:b12f ) google ( 2001:4860:4860::8888 )
|
||
|
neustar ( 2610:a1:1018::1 ) quad9 ( 2620:fe::fe )
|
||
|
uncensoredDNS ( 2001:67c:28a4:: ) verisign ( 2620:74:1b::1:1 )
|
||
|
yandex ( 2a02:6b8::feed:0ff )
|
||
|
```
|
||
|
|
||
|
Depending on the domains, the response times may differ significantly
|
||
|
|
||
|
```text
|
||
|
base list:
|
||
|
debian.org eurid.eu free.fr google.com info.info
|
||
|
kernel.org be.libre ovh.net packager.io transfer.sh
|
||
|
alt list:
|
||
|
whois.biz pik.bzh www.coop lafibre.info github.io
|
||
|
bmwgroup.jobs dotmobi.mobi do.tel france.tv gen.xyz
|
||
|
easy list:
|
||
|
amazon.com facebook.com github.com gmail.com google.com
|
||
|
reddit.com twitter.com whatsapp.com wikipedia.org youtube.com
|
||
|
atld list:
|
||
|
register.bbs opennic.chan opennic.cyb nic.fur rojaciwan.ku
|
||
|
register.neo reg.null opennic.oz uptime.party vtje.ti
|
||
|
```
|
||
|
|
||
|
|
||
|
## license
|
||
|
|
||
|
[LPRAB / WTFPL](https://framagit.org/sdeb/nstest/blob/master/LICENSE.md)
|
||
|
|
||
|
|
||
|
|
||
|
## bench
|
||
|
|
||
|
[voir bench.md](bench.md)
|
||
|
|
||
|
|
||
|
## tld alternative
|
||
|
|
||
|
some servers, outside OpenNic, resolve alternative domain names, today: level3 && norton
|
||
|
|
||
|
* [OpenNIC](https://www.opennic.org/): .bbs, .chan, .dyn, .fur, .geek, .gopher, .indy, .libre, .neo, .null, .o, .oss, .oz, .parody, .pirate
|
||
|
* [Emercoin](https://emercoin.com/en/tech-solutions?page=49#services): .bazar, .coin, .amc, .lib,
|
||
|
* [FurNIC](http://www.nic.fur/): .fur
|
||
|
* [Namecoin](https://namecoin.org/): .bit
|
||
|
* [New Nations](http://new-nations.net/en/): .ku, .te, .ti, .uu
|
||
|
|
||
|
|
||
|
## sources
|
||
|
|
||
|
[framagit (gitlab) (framasoft service)](https://framagit.org/sdeb/nstest/blob/master/README.md#nstest)
|
||
|
|
||
|
|
||
|
## license
|
||
|
|
||
|
* [LPRAB / WTFPL](https://framagit.org/sdeb/nstest/blob/master/LICENSE.md)
|