From f7d66192af1c10b617068ea15ad453e7a5b98418 Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Mon, 11 Sep 2023 19:28:56 +0200 Subject: [PATCH 1/2] Update clear-dns-cache.ps1 --- Scripts/clear-dns-cache.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/clear-dns-cache.ps1 b/Scripts/clear-dns-cache.ps1 index 3e598d90..3dab3f71 100755 --- a/Scripts/clear-dns-cache.ps1 +++ b/Scripts/clear-dns-cache.ps1 @@ -5,7 +5,7 @@ This PowerShell script clears the DNS client cache of the local computer. .EXAMPLE PS> ./clear-dns-cache.ps1 - ✔️ cleared DNS cache in 0 ms + ✔️ Cleared DNS cache in 1 sec .LINK https://github.com/fleschutz/PowerShell .NOTES @@ -18,7 +18,7 @@ try { Clear-DnsClientCache [int]$Elapsed = $StopWatch.Elapsed.TotalSeconds - "✔️ cleared DNS cache in $Elapsed sec" + "✔️ Cleared DNS cache in $Elapsed sec" exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" From 2bf762f3b3e1f2b1de0296ba2f0e78afc5ba42c7 Mon Sep 17 00:00:00 2001 From: Markus Fleschutz Date: Mon, 11 Sep 2023 19:49:35 +0200 Subject: [PATCH 2/2] Reduce # of domains to 100 for performance --- Data/popular-domains.csv | 100 --------------------------------------- Scripts/check-dns.ps1 | 12 ++--- 2 files changed, 6 insertions(+), 106 deletions(-) diff --git a/Data/popular-domains.csv b/Data/popular-domains.csv index d3b4293c..50990c68 100644 --- a/Data/popular-domains.csv +++ b/Data/popular-domains.csv @@ -1,182 +1,89 @@ DOMAIN, a.root-servers.net, -accounts.google.com, -activity.windows.com, -airbnb.at, airbnb.com, -airbnb.de, aka.ms, -alternate.de, -api.dropboxapi.com, api.met.no, -api.serenade.ai, -api1.origin.com, arc.msn.com, arte.tv, assets.msn.com, amazon.com, -amazon.co.uk, -amazon.de, -amazon.fr, -amazon.it, b.root-servers.net, -banking.ing-diba.de, bing.com, -bing.de, -bing.fr, bitbucket.org, -blitzortung.org, -bolt.dropbox.com, c.root-servers.net, -catalog.gamepass.com, -changelogs.ubuntu.com, client.dropbox.com, -client.wns.windows.com, -clients1.google.com, -clients2.google.com, -clients3.google.com, -clients4.google.com, contacts.google.com, d.dropbox.com, d.root-servers.net, -dasoertliche.de, -deepl.com, dell.com, -de.yahoo.com, discord.com, discordapp.com, -dhl.de, -download.windowsupdate.com, duckduckgo.com, e.root-servers.net, earth.google.com, ebay.com, -ebay.de, -ebay.fr, -ebook3000.com, edition.cnn.com, f.root-servers.net, facebook.com, -facebook.de, -facebook.fr, flightradar24.com, fonts.google.com, fonts.googleapis.com, -fonts.gstatic.com, foto-webcam.eu, foursquare.com, g.root-servers.net, github.com, -github.map.fastly.net, gmail.com, -google.at, google.com, -google.de, -google.fr, -google.it, -googleapis.com, gstatic.com, h.root-servers.net, -holidaycheck.de, -hornbach.de, i.root-servers.net, -i.ytimg.com, IEEE.org, ibm.com, icons8.com, imap.googlemail.com, -install.robertsspaceindustries.com, -ipfs.io, -ipv6.msftconnecttest.com, j.root-servers.net, k.root-servers.net, l.root-servers.net, -launcher2.robertsspaceindustries.com, -licensing.mp.microsoft.com, live.github.com, -live.thunderbird.net, -livepatch.canonical.com, login.live.com, -longfiles.com, m.root-servers.net, mail.google.com, -map.blitzortung.org, maps.google.com, -maps.google.de, -maps.google.fr, microsoft.com, mozilla.org, -mtalk.google.com, music.google.com, news.google.com, -news.google.de, -news.google.fr, news.url.google.com, ntp.ubuntu.com, -ogs.google.com, open.spotify.com, opera.com, photos.google.com, pixabay.com, play.google.com, plex.tv, -presence.teams.microsoft.com, -ptbtime1.ptb.de, -ptbtime2.ptb.de, -ptbtime3.ptb.de, redhat.com, -reichelt.de, -robertsspaceindustries.com, -secure.download.dm.origin.com, -semonkeys.net, -settings.data.microsoft.com, -settings-win.data.microsoft.com, sites.google.com, slashdot.org, speed.cloudflare.com, speedtest.net, -ssl.gstatic.com, stackoverflow.com, -start.thunderbird.net, -static.nvidiagrid.net, -storage.googleapis.com, -substrate.office.com, sunnyportal.com, -t-online.de, -t0.gstatic.com, teams.microsoft.com, -telemetry.dropbox.com, -tile-service.weather.microsoft.com, time.windows.com, -toggl.com, -toom.de, -track.toggl.com, -translate.google.de, -twitter.com, -twitter.de, ubuntu.com, update.googleapis.com, wetter.com, wttr.in, www.apple.com, www.arte.tv, -www.bbc.co.uk, -www.bild.de, www.booking.com, -www.cdc.gov, www.dropbox.com, www.ecosia.org, www.etsy.com, www.expedia.com, www.fleschutz.de, -www.focus.de, -www.foto-webcam.eu, -www.golem.de, www.google.com, -www.googleapis.com, www.gstatic.com, -www.heise.de, -www.hulu.com, www.instagram.com, www.msn.com, www.nasa.gov, @@ -184,18 +91,11 @@ www.netflix.com, www.nytimes.com, www.paypal.com, www.redbull.com, -www.schneier.com, -www.techstage.de, www.tiktok.com, www.ufainc.com, www.walmart.com, www.whatsapp.com, www.whitehouse.gov, www.windy.com, -www.wikipedia.at, -www.wikipedia.de, -www.wikipedia.fr, www.wikipedia.org, -www.wired.com, www.youtube.com, -www.zdf.de, diff --git a/Scripts/check-dns.ps1 b/Scripts/check-dns.ps1 index d8dff681..ccb41e2d 100755 --- a/Scripts/check-dns.ps1 +++ b/Scripts/check-dns.ps1 @@ -1,11 +1,11 @@ <# .SYNOPSIS - Check DNS resolution + Check the DNS resolution .DESCRIPTION - This PowerShell script measures and prints the DNS resolution speed by using 200 popular domains. + This PowerShell script measures the DNS resolution speed (using 100 popular domains) and prints it. .EXAMPLE PS> ./check-dns.ps1 - ✅ DNS resolves 156.5 domains per second + ✅ DNS resolves 56.5 domains per second .LINK https://github.com/fleschutz/PowerShell .NOTES @@ -13,15 +13,15 @@ #> try { - Write-Progress "⏳ Resolving 200 popular domain names..." $table = Import-CSV "$PSScriptRoot/../Data/popular-domains.csv" $numRows = $table.Length + Write-Progress "⏳ Resolving $numRows domain names..." $stopWatch = [system.diagnostics.stopwatch]::startNew() if ($IsLinux) { -foreach($row in $table){$nop=dig $row.Domain +short} + foreach($row in $table){$nop=dig $row.Domain +short} } else { -foreach($row in $table){$nop=Resolve-DNSName $row.Domain} + foreach($row in $table){$nop=Resolve-DNSName $row.Domain} } Write-Progress -completed "." [float]$elapsed = $stopWatch.Elapsed.TotalSeconds