W skrócie można powiedzieć, że jest to książka adresowa miejsc w sieci. I jest powyżej zapytań do DNS. A dokładnie poniżej…
Gdy chcemy przejść na na jakąś stronę to nasz komputer musi wiedzieć do jakiego serwera się odezwać z prośbą o wyświetlenie strony. Taką informację dostanie z serwera DNS. Gdy wpisujemy w przeglądarkę adres gpietrzak.pl to przeglądarka najpierw pyta serwer DNS na jakim serwerze, pod jakim adresem znajdzie tę stronę. Serwer DNS odpowiada, że znajdzie go pod adresem: 2.57.138.196. Oczywiście gdy będziemy próbowali przejść na tę stronę bezpośrednio to nie znajdziemy tej strony, bo na tym serwerze jest ich dużo więcej a serwer nie wie jaką ma nam wyświetlić, ale wpisując nazwę strony to już nam się ona pojawi na ekranie. Dlaczego tak jest nie będziemy się teraz zajmować. Ważne, że przeglądarka wie już jaki serwer zapytać o konkretną stronę.
Plik HOSTS pozwala nam ręcznie ustawić pod jakim adresem będzie konkretna strona (albo jej nie będzie).
Gdzie jest plik HOSTS
W systemie Windows plik HOSTS znajdziemy w folderze
C:\Windows\System32\drivers\etc
Jest to folder systemowy dlatego też aby go edytować musimy uruchomić edytor z uprawnieniami administratora.
Drugim problemem jest to, że posiadając Windows Defendera jako program antywirusowy (czyli jeśli go nie wyłączyliśmy lub nie zainstalowaliśmy czegoś innego) będzie chronił ten plik przed zmianami. Konieczne będzie dodanie wyjątku przy ochronie plików.
Co jest w pliku HOSTS
# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 facebook.com # ::1 localhost
Prawdopodobnie coś takiego znajdzie się i u Ciebie. Niektóre aplikacje mogą dodawać nowe wpisy więc możesz mieć coś do tego dopisane.
A jak to działa?
Gdy prosimy o stronę to przeglądarka sprawdza plik HOSTS. Jeśli znajdzie tam wpis, to z niego skorzysta, jeśli nie to będzie gdzie indziej szukała strony. Więc najprościej stronę facebook można zablokować jak w powyższym listingu. Prośba o stronę facebook.com spowoduje odpytanie serwera o adresie 127.0.0.1. A to jest localhost czyli nasz komputer… więc tam go raczej nie znajdzie.
Oczywiście w listingu powyżej wpis ten jest zakomentowany. Aby działał musiałbym usunąć znak # który jest na początku wiersza.
Czy działa?
Najprościej można to sprawdzić korzystając z polecenia ping:
