Pamięć podręczna DNS (czasami nazywana pamięcią podręczną programu rozpoznawania nazw DNS) to tymczasowa baza danych, utrzymywana przez system operacyjny komputera, która zawiera zapisy wszystkich ostatnich wizyt i prób wizyt na stronach internetowych i innych domenach internetowych.
Innymi słowy, pamięć podręczna DNS to tylko pamięć ostatnich wyszukiwań DNS, do których komputer może się szybko odwołać, gdy próbuje dowiedzieć się, jak załadować witrynę.
Informacje zawarte w tym artykule dotyczą użytkowników domowych, którzy nie zmienili swoich ustawień DNS.
Cel pamięci podręcznej DNS
Internet opiera się na systemie nazw domen, aby utrzymywać indeks wszystkich publicznych witryn internetowych i odpowiadających im adresów IP. Możesz myśleć o tym jak o książce telefonicznej.
Dzięki książce telefonicznej nie musimy zapamiętywać numeru telefonu wszystkich osób, co jest jedynym sposobem, w jaki telefony mogą się komunikować: za pomocą numeru. W ten sam sposób używany jest DNS, dzięki czemu możemy uniknąć konieczności zapamiętywania adresu IP każdej witryny, co jest jedynym sposobem, w jaki sprzęt sieciowy może komunikować się ze stronami internetowymi.
To dzieje się za zasłoną, gdy poprosisz przeglądarkę o załadowanie strony internetowej.
Wpisujesz adres URL, taki jak lifewire.com, a Twoja przeglądarka poprosi router o adres IP. Router ma zapisany adres serwera DNS, więc prosi serwer DNS o adres IP tej nazwy hosta. Serwer DNS znajduje adres IP należący do lifewire.com, a następnie jest w stanie zrozumieć, o jaką witrynę prosisz, po czym przeglądarka może załadować odpowiednią stronę.
Tak dzieje się w przypadku każdej witryny, którą chcesz odwiedzić. Za każdym razem, gdy odwiedzasz witrynę według nazwy hosta, przeglądarka internetowa inicjuje żądanie do Internetu, ale żądanie to nie może zostać zrealizowane, dopóki nazwa witryny nie zostanie „przekonwertowana” na adres IP.
Problem polega na tym, że chociaż istnieje mnóstwo publicznych serwerów DNS, które Twoja sieć może wykorzystać do przyspieszenia procesu konwersji/rozwiązywania problemów, nadal szybciej jest mieć lokalną kopię „książki telefonicznej”, która jest gdzie w grę wchodzą pamięci podręczne DNS.
Pamięć podręczna DNS próbuje jeszcze bardziej przyspieszyć proces, obsługując rozpoznawanie nazw ostatnio odwiedzanych adresów, zanim żądanie zostanie wysłane do Internetu
W każdej hierarchii procesu wyszukiwania, który ostatecznie powoduje załadowanie witryny przez komputer, znajdują się pamięci podręczne DNS. Komputer dociera do routera, który kontaktuje się z dostawcą usług internetowych, który może trafić na innego dostawcę usług internetowych, zanim trafi na tak zwane „główne serwery DNS”. Każdy z tych punktów w procesie ma pamięć podręczną DNS z tego samego powodu, którym jest przyspieszenie procesu rozpoznawania nazw.
Jak działa pamięć podręczna DNS
Zanim przeglądarka wyśle swoje żądania do sieci zewnętrznej, komputer przechwytuje każde z nich i sprawdza nazwę domeny w bazie danych pamięci podręcznej DNS. Baza danych zawiera listę wszystkich ostatnio odwiedzanych nazw domen i adresów, które DNS obliczył dla nich przy pierwszym żądaniu.
Zawartość lokalnej pamięci podręcznej DNS można wyświetlić w systemie Windows za pomocą polecenia ipconfig /displaydns, z wynikami podobnymi do tego:
docs.google.com
Nazwa rekordu…..: docs.google.com
Typ rekordu…..: 1
Czas życia….: 21
Długość danych…..: 4
Sekcja…….: Odpowiedź
A (Host) Nagraj…: 172.217.6.174
W DNS, rekord „A” to część wpisu DNS, która zawiera adres IP dla podanej nazwy hosta. Pamięć podręczna DNS przechowuje ten adres, żądaną nazwę strony internetowej i kilka innych parametrów z wpisu DNS hosta.
Co to jest zatruwanie pamięci podręcznej DNS?
Pamięć podręczna DNS zostaje zatruta lub zanieczyszczona, gdy zostaną do niej wstawione nieautoryzowane nazwy domen lub adresy IP.
Od czasu do czasu pamięć podręczna może ulec uszkodzeniu z powodu usterek technicznych lub wypadków administracyjnych, ale zatruwanie pamięci podręcznej DNS jest zwykle związane z wirusami komputerowymi lub innymi atakami sieciowymi, które wstawiają nieprawidłowe wpisy DNS do pamięci podręcznej.
Zatrucie powoduje, że żądania klientów są przekierowywane do niewłaściwych miejsc docelowych, zwykle złośliwych witryn lub stron pełnych reklam.
Jeśli na przykład powyższy rekord docs.google.com ma inny rekord „A”, to po wpisaniu docs.google.com w przeglądarce zostaniesz przeniesiony w inne miejsce.
Stwarza to ogromny problem dla popularnych witryn. Jeśli osoba atakująca przekieruje Twoje żądanie dotyczące witryny Gmail.com, na przykład do witryny, która wygląda jak Gmail, ale nią nie jest, możesz zostać narażony na atak typu phishing, taki jak wielorybnictwo.
Płukanie DNS: co robi i jak to zrobić
Podczas rozwiązywania problemów z zatruciem pamięci podręcznej lub innymi problemami z połączeniem internetowym, administrator komputera może chcieć opróżnić (tj. wyczyścić, zresetować lub wymazać) pamięć podręczną DNS.
Ponieważ wyczyszczenie pamięci podręcznej DNS usuwa wszystkie wpisy, usuwa również wszelkie nieprawidłowe rekordy i zmusza komputer do ponownego zapełnienia tych adresów przy następnej próbie uzyskania dostępu do tych witryn. Te nowe adresy są pobierane z serwera DNS skonfigurowanego w Twojej sieci.
Więc, aby skorzystać z powyższego przykładu, jeśli rekord Gmail.com został zatruty i przekierowuje Cię do dziwnej witryny, opróżnienie DNS jest dobrym pierwszym krokiem do odzyskania zwykłego Gmail.com.
W systemie Microsoft Windows można opróżnić lokalną pamięć podręczną DNS za pomocą polecenia ipconfig /flushdns w wierszu polecenia. Wiesz, że to działa, gdy zobaczysz, że konfiguracja IP systemu Windows pomyślnie opróżniła pamięć podręczną programu rozpoznawania nazw DNS lub Pomyślnie opróżniono pamięć podręczną programu rozpoznawania nazw DNS.
Za pomocą terminala poleceń użytkownicy systemu macOS powinni używać dscacheutil -flushcache, ale wiedzą, że po uruchomieniu nie pojawia się komunikat o pomyślnym zakończeniu, więc nie zostaniesz poinformowany, czy pracował. W niektórych przypadkach użytkownicy Mac będą musieli także zabić respondera DNS (sudo killall -HUP mDNSResponder). Użytkownicy Linuksa powinni wpisać /etc/rc.d/init. d/nscd restart polecenie. Dokładne polecenie będzie się jednak różnić w zależności od twojej dystrybucji Linuksa.
Router może mieć również pamięć podręczną DNS, dlatego ponowne uruchomienie routera jest często etapem rozwiązywania problemów. Z tego samego powodu, dla którego możesz wyczyścić pamięć podręczną DNS na swoim komputerze, możesz ponownie uruchomić router, aby wyczyścić wpisy DNS przechowywane w jego pamięci tymczasowej.