En DNS-cache (ibland kallad DNS-resolver-cache) är en temporär databas, som underhålls av en dators operativsystem, som innehåller register över alla senaste besök och försök till webbplatser och andra internetdomäner.
Med andra ord är en DNS-cache bara ett minne av de senaste DNS-sökningar som din dator snabbt kan hänvisa till när den försöker ta reda på hur man laddar en webbplats.
Informationen i den här artikeln gäller hemanvändare som inte har ändrat sina DNS-inställningar.
Syftet med en DNS-cache
Internet förlitar sig på att domännamnssystemet upprätthåller ett index över alla offentliga webbplatser och deras motsvarande IP-adresser. Du kan se det som en telefonbok.
Med en telefonbok behöver vi inte memorera allas telefonnummer, vilket är det enda sättet telefoner kan kommunicera på: med ett nummer. På samma sätt används DNS så att vi kan undvika att behöva memorera varje webbplatss IP-adress, vilket är det enda sättet nätverksutrustning kan kommunicera med webbplatser.
Det här är vad som händer bakom gardinen när du ber din webbläsare att ladda en webbplats.
Du skriver in en URL som lifewire.com och din webbläsare frågar din router om IP-adressen. Routern har en DNS-serveradress lagrad, så den frågar DNS-servern om IP-adressen för det värdnamnet. DNS-servern hittar IP-adressen som tillhör lifewire.com och kan sedan förstå vilken webbplats du efterfrågar, varefter din webbläsare sedan kan ladda rätt sida.
Detta händer för varje webbplats du vill besöka. Varje gång du besöker en webbplats med dess värdnamn initierar webbläsaren en begäran ut till internet, men denna begäran kan inte slutföras förrän webbplatsens namn har "konverterats" till en IP-adress.
Problemet är att även om det finns massor av offentliga DNS-servrar ditt nätverk kan använda för att försöka påskynda konverterings-/upplösningsprocessen, är det fortfarande snabbare att ha en lokal kopia av "telefonboken", som är där DNS-cachar spelar in.
DNS-cachen försöker påskynda processen ännu mer genom att hantera namnupplösningen av nyligen besökta adresser innan förfrågan skickas ut till internet
Det finns faktiskt DNS-cachar i varje hierarki i "uppslagningsprocessen" som i slutändan får din dator att ladda webbplatsen. Datorn når din router, som kontaktar din internetleverantör, som kan träffa en annan internetleverantör innan den hamnar på vad som kallas "rot-DNS-servrarna". Var och en av dessa punkter i processen har en DNS-cache av samma anledning, vilket är att påskynda namnupplösningsprocessen.
Så fungerar en DNS-cache
Innan en webbläsare skickar sina förfrågningar till det externa nätverket, avlyssnar datorn var och en och letar upp domännamnet i DNS-cachedatabasen. Databasen innehåller en lista över alla nyligen öppnade domännamn och de adresser som DNS beräknade för dem första gången en begäran gjordes.
Innehållet i en lokal DNS-cache kan ses på Windows med kommandot ipconfig /displaydns, med resultat som liknar detta:
docs.google.com
Record Name…..: docs.google.com
Record Type…..: 1
Time To Live….: 21
Datalängd…..: 4
Sektion…….: Svar
A (värd) Record…: 172.217.6.174
I DNS är "A"-posten den del av DNS-posten som innehåller IP-adressen för det givna värdnamnet. DNS-cacheminnet lagrar denna adress, det begärda webbplatsnamnet och flera andra parametrar från värd-DNS-posten.
Vad är DNS-cacheförgiftning?
En DNS-cache blir förgiftad eller förorenad när obehöriga domännamn eller IP-adresser infogas i den.
Ibland kan en cache skadas på grund av tekniska fel eller administrativa olyckor, men DNS-cacheförgiftning är vanligtvis associerad med datavirus eller andra nätverksattacker som infogar ogiltiga DNS-poster i cachen.
Förgiftning gör att klientförfrågningar omdirigeras till fel destinationer, vanligtvis skadliga webbplatser eller sidor fulla av reklam.
Om t.ex. docs.google.com-posten från ovan hade en annan "A"-post, skulle du föras någon annanstans när du skrev in docs.google.com i din webbläsare.
Detta utgör ett enormt problem för populära webbplatser. Om en angripare omdirigerar din begäran om Gmail.com, till exempel till en webbplats som ser ut som Gmail men inte är det, kan du hamna i en nätfiskeattack som valfångst.
DNS-spolning: vad det gör och hur man gör det
När du felsöker cacheförgiftning eller andra problem med internetanslutningen kan en datoradministratör vilja tömma (dvs. rensa, återställa eller radera) en DNS-cache.
Eftersom rensning av DNS-cacheminnet tar bort alla poster, raderar det även eventuella ogiltiga poster och tvingar din dator att fylla i dessa adresser igen nästa gång du försöker komma åt dessa webbplatser. Dessa nya adresser hämtas från den DNS-server som ditt nätverk är konfigurerat för att använda.
Så, för att använda exemplet ovan, om Gmail.com-posten förgiftades och omdirigerade dig till en konstig webbplats, är att spola DNS ett bra första steg för att få tillbaka den vanliga Gmail.com igen.
I Microsoft Windows kan du tömma den lokala DNS-cachen med kommandot ipconfig /flushdns i en kommandotolk. Du vet att det fungerar när du ser att Windows IP-konfigurationen lyckades tömma DNS Resolver Cache eller Lyckades tömma meddelandet DNS Resolver Cache.
Genom en kommandoterminal bör macOS-användare använda dscacheutil -flushcache men vet att det inte finns ett "lyckat" meddelande efter att det körts, så du får inte veta om det arbetade. I vissa fall måste Mac-användare också döda DNS-svaret (sudo killall -HUP mDNSResponder) Linux-användare bör ange /etc/rc.d/init. d/nscd omstart kommando. Det exakta kommandot kommer dock att variera beroende på din Linux-distribution.
En router kan också ha en DNS-cache, varför omstart av en router ofta är ett felsökningssteg. Av samma anledning som du kan tömma DNS-cachen på din dator kan du starta om din router för att rensa DNS-posterna som lagrats i dess temporära minne.