Merge branch 'master' of github.com:fleschutz/PowerShell

This commit is contained in:
Markus Fleschutz 2023-04-07 16:50:46 +02:00
commit cc5ef1ee1f
2 changed files with 15 additions and 18 deletions

View File

@ -1,14 +1,15 @@
PROVIDER, IPv4_PRI, IPv4_SEC PROVIDER, IPv4_PRI, IPv4_SEC
"AdGuard DNS", 94.140.14.14, 94.140.15.15 "AdGuard DNS (Cyprus)", 94.140.14.14, 94.140.15.15
"CleanBrowsing", 185.228.168.9, 185.228.169.9 "CleanBrowsing", 185.228.168.9, 185.228.169.9
"Cloudflare (standard)", 1.1.1.1, 1.0.0.1 "Cloudflare Public DNS (USA, standard)", 1.1.1.1, 1.0.0.1
"Cloudflare (with malware blocklist)", 1.1.1.2, 1.0.0.2 "Cloudflare Public DNS (with malware blocklist)", 1.1.1.2, 1.0.0.2
"Cloudflare (with malware+adult blocklist)", 1.1.1.3, 1.0.0.3 "Cloudflare Public DNS (with malware+adult blocklist)", 1.1.1.3, 1.0.0.3
"Control D", 76.76.2.0, 76.76.10.0 "Control D (Canada)", 76.76.2.0, 76.76.10.0
"DNS0.eu (standard)", 193.110.81.0, 185.253.5.0 "DNS0.eu (standard)", 193.110.81.0, 185.253.5.0
"DNS0.eu (for kids)", 193.110.81.1, 185.253.5.1 "DNS0.eu (for kids)", 193.110.81.1, 185.253.5.1
"DNS0.eu (zero)", 193.110.81.9, 185.253.5.9 "DNS0.eu (zero)", 193.110.81.9, 185.253.5.9
"Google Public DNS", 8.8.8.8, 8.8.4.4 "DNS.WATCH (Germany)", 84.200.69.80, 84.200.70.40
"Google Public DNS (USA)", 8.8.8.8, 8.8.4.4
"Level3 one", 4.2.2.1, 4.2.2.1 "Level3 one", 4.2.2.1, 4.2.2.1
"Level3 two", 4.2.2.2, 4.2.2.2 "Level3 two", 4.2.2.2, 4.2.2.2
"Level3 three", 4.2.2.3, 4.2.2.3 "Level3 three", 4.2.2.3, 4.2.2.3
@ -17,9 +18,9 @@ PROVIDER, IPv4_PRI, IPv4_SEC
"Level3 six", 4.2.2.6, 4.2.2.6 "Level3 six", 4.2.2.6, 4.2.2.6
"OpenDNS (basic)", 208.67.222.222, 208.67.220.220 "OpenDNS (basic)", 208.67.222.222, 208.67.220.220
"OpenDNS (family shield)", 208.67.222.123, 208.67.220.123 "OpenDNS (family shield)", 208.67.222.123, 208.67.220.123
"OpenNIC", 94.247.43.254, 94.247.43.254 "OpenNIC Project", 94.247.43.254, 94.247.43.254
"Quad9 (with malware blocklist, with DNSSEC)", 9.9.9.9, 149.112.112.112 "Quad9 (with malware blocklist, with DNSSEC)", 9.9.9.9, 149.112.112.112
"Quad9 (no malware blocklist, no DNSSEC)", 9.9.9.10, 9.9.9.10 "Quad9 (no malware blocklist, no DNSSEC)", 9.9.9.10, 9.9.9.10
"Quad9 (with malware blocklist, with DNSSEC, with EDNS)", 9.9.9.11, 9.9.9.11 "Quad9 (with malware blocklist, with DNSSEC, with EDNS)", 9.9.9.11, 9.9.9.11
"Quad9 (with malware blocklist, with DNSSEC, NXDOMAIN only)", 9.9.9.12, 9.9.9.12 "Quad9 (with malware blocklist, with DNSSEC, NXDOMAIN only)", 9.9.9.12, 9.9.9.12
"Verisign Public DNS", 64.6.64.6, 64.6.65.6 "Verisign Public DNS (USA)", 64.6.64.6, 64.6.65.6
1 PROVIDER IPv4_PRI IPv4_SEC
2 AdGuard DNS AdGuard DNS (Cyprus) 94.140.14.14 94.140.15.15
3 CleanBrowsing 185.228.168.9 185.228.169.9
4 Cloudflare (standard) Cloudflare Public DNS (USA, standard) 1.1.1.1 1.0.0.1
5 Cloudflare (with malware blocklist) Cloudflare Public DNS (with malware blocklist) 1.1.1.2 1.0.0.2
6 Cloudflare (with malware+adult blocklist) Cloudflare Public DNS (with malware+adult blocklist) 1.1.1.3 1.0.0.3
7 Control D Control D (Canada) 76.76.2.0 76.76.10.0
8 DNS0.eu (standard) 193.110.81.0 185.253.5.0
9 DNS0.eu (for kids) 193.110.81.1 185.253.5.1
10 DNS0.eu (zero) 193.110.81.9 185.253.5.9
11 Google Public DNS DNS.WATCH (Germany) 8.8.8.8 84.200.69.80 8.8.4.4 84.200.70.40
12 Google Public DNS (USA) 8.8.8.8 8.8.4.4
13 Level3 one 4.2.2.1 4.2.2.1
14 Level3 two 4.2.2.2 4.2.2.2
15 Level3 three 4.2.2.3 4.2.2.3
18 Level3 six 4.2.2.6 4.2.2.6
19 OpenDNS (basic) 208.67.222.222 208.67.220.220
20 OpenDNS (family shield) 208.67.222.123 208.67.220.123
21 OpenNIC OpenNIC Project 94.247.43.254 94.247.43.254
22 Quad9 (with malware blocklist, with DNSSEC) 9.9.9.9 149.112.112.112
23 Quad9 (no malware blocklist, no DNSSEC) 9.9.9.10 9.9.9.10
24 Quad9 (with malware blocklist, with DNSSEC, with EDNS) 9.9.9.11 9.9.9.11
25 Quad9 (with malware blocklist, with DNSSEC, NXDOMAIN only) 9.9.9.12 9.9.9.12
26 Verisign Public DNS Verisign Public DNS (USA) 64.6.64.6 64.6.65.6

View File

@ -8,7 +8,7 @@
Provider IPv4 Latency Provider IPv4 Latency
-------- ---- ------- -------- ---- -------
AdGuard DNS 94.140.14.14 / 94.140.15.15 222 / 205 ms AdGuard DNS (Cyprus) 94.140.14.14 / 94.140.15.15 222 / 205 ms
... ...
.LINK .LINK
https://github.com/fleschutz/PowerShell https://github.com/fleschutz/PowerShell
@ -17,25 +17,21 @@
#> #>
function CheckDNSServer { param($Provider, $IPv4Pri, $IPv4Sec) function CheckDNSServer { param($Provider, $IPv4Pri, $IPv4Sec)
$SW = [system.diagnostics.stopwatch]::startNew() Write-Progress "Measuring latency of $Provider..."
$null = (nslookup fleschutz.de $IPv4Pri 2>$null) $SW=[system.diagnostics.stopwatch]::startNew();$null=(nslookup fleschutz.de $IPv4Pri 2>$null);[int]$Lat1=$SW.Elapsed.TotalMilliseconds
[int]$Elapsed1 = $SW.Elapsed.TotalMilliseconds
$SW = [system.diagnostics.stopwatch]::startNew() $SW=[system.diagnostics.stopwatch]::startNew();$null=(nslookup fleschutz.de $IPv4Sec 2>$null);[int]$Lat2=$SW.Elapsed.TotalMilliseconds
$null = (nslookup fleschutz.de $IPv4Sec 2>$null)
[int]$Elapsed2 = $SW.Elapsed.TotalMilliseconds
New-Object PSObject -Property @{ Provider=$Provider; IPv4="$IPv4Pri / $IPv4Sec"; Latency="$Elapsed1 / $Elapsed2 ms" } New-Object PSObject -Property @{ Provider=$Provider; IPv4="$IPv4Pri / $IPv4Sec"; Latency="$Lat1 / $Lat2 ms" }
} }
function List-DNS-Servers { function List-DNS-Servers {
Write-Progress "Loading Data/public-dns-servers.csv..." Write-Progress "Loading Data/public-dns-servers.csv..."
$Table = Import-CSV "$PSScriptRoot/../Data/public-dns-servers.csv" $Table = Import-CSV "$PSScriptRoot/../Data/public-dns-servers.csv"
Write-Progress "Measuring latency..."
foreach($Row in $Table) { foreach($Row in $Table) {
CheckDNSServer $Row.PROVIDER $Row.IPv4_PRI $Row.IPv4_SEC CheckDNSServer $Row.PROVIDER $Row.IPv4_PRI $Row.IPv4_SEC
} }
Write-Progress -completed " " Write-Progress -completed "."
} }
try { try {