Tłumaczeniem adresów IP na zrozumiałe dla ludzi nazwy domen zajmuje się system DNS, złożony z rozsianych po świecie serwerów. Dzięki temu system po skontaktowaniu się z najbliższym serwerem DNS, najczęściej należącym do dostawcy usług sieciowych, poradzi sobie z rozwiązaniem każdej nazwy. Jeśli lokalny serwer nie zna tłumaczenia, zapytanie będzie przekierowane przez kolejne serwery, aż dotrze do właściwego.
Przodek DNS
W latach 70., w pionierskich czasach globalnej sieci używano prostszego mechanizmu tłumaczenia nazw domen: pliku hosts.txt. Po wpisaniu w jednym wierszu adresu IP i nazwy domeny oraz załadowaniu pliku do pamięci komputera można było w danym węźle pominąć wpisywanie cyfr adresu IP, np. przy próbie połączenia się ze zdalnym hostem za pomocą terminalu, i zamiast nich użyć nazwy zapisanej przy danym numerze w pliku
hosts.txt. Z powodu szybkiego rozrostu sieci ręczne aktualizowanie i uzupełnianie wpisów w pliku tekstowym stało się zbyt dużym obciążeniem dla administratorów, dlatego zastąpiono go wspólnym dla całej sieci plikiem, przechowywanym na serwerze Uniwersytetu Stanford, skąd kopiowały go pozostałe maszyny w internecie. To rozwiązanie także okazało się niewystarczające i w połowie lat 80. zastąpiono je DNS-em, który działa do dziś.
Nie oznacza to, że plik hosts.txt zniknął. Wręcz przeciwnie, można go znaleźć w każdym zaawansowanym systemie operacyjnym, takim jak: Windows, Linux czy Unix. Nie jest to także żywa skamielina informatyczna. Plik wciąż jest przydatny i pełni ważną rolę.
Do czego służy plik hosts
Obecnie plik hosts.txt (lub po prostu hosts, bez rozszerzenia), służy do tworzenia lokalnych przekierowań domen na wskazane adresy IP. Jeśli system znajdzie tłumaczenie nazwy w lokalnym pliku, przestaje dalej szukać, tylko zaczyna pobierać dane. W jaki sposób można to wykorzystać? Jeśli używasz serwera, który nie ma przypisanej domeny, np. firmowego lub prywatnego FTP, możesz przypisać mu dowolną nazwę w pliku hosts i używać jej podczas nawiązywania połączenia. Teoretycznie ten sam mechanizm może posłużyć do zastępowania nazw domen używanych usług internetowych własnymi nazwami. To obecnie jest jednak dużo trudniejsze niż dawnej, gdyż adresy IP serwerów WWW zmieniają się często, a usługodawcy korzystają z dużych pul adresów IP zarządzanych przez DNS-y, żeby rozładować przychodzący ruch na wiele serwerów. Jeśli natomiast masz pewność, że strona, np. firmowy
intranet, jest stale dostępna pod tym samym IP sieci zewnętrznej lub lokalnej, możesz nadać mu własną nazwę, tworząc wpis w pliku hosts.
Przekierowania
Plik hosts w Windows, choć nie ma żadnego rozszerzenia, jest zwykłym plikiem tekstowym. Do jego modyfikacji wystarczy program Notatnik. Ważne jest, by uruchomić ten program w trybie administracyjnym, co można zrobić, klikając go prawym klawiszem myszy i wybierając z menu polecenie Uruchom jako administrator. Następnie należy otworzyć w edytorze okno dialogowe otwierania plików i przejść do lokalizacji C:\Windows\system32\drivers\etc\, zaznaczyć plik hosts i otworzyć go. W pliku wpisać adres IP i nazwę, która ma do niego prowadzić. Wystarczy jedno słowo. Aby zablokować utworzone przekierowanie, trzeba postawić na początku linii znak #.
Jeśli korzystasz z programu antywirusowego, próba nadpisania pliku hosts może zostać zablokowana. Wynika to z faktu, że ten plik jest wykorzystywany przez szkodliwe oprogramowanie do tworzenia przekierowań. Dlatego w przypadku wyświetlenia komunikatu o zablokowaniu zmian musisz na chwilę wyłączyć to zabezpieczenie.
Blokowanie stron
Drugim, popularniejszym obecnie, zastosowaniem dla pliku hosts jest blokowanie domen. Tworzy się je przez przekierowanie adresu strony WWW lub domeny na tzw. pętlę lokalną, czyli adres IP 127.0.0.1 (lub 0.0.0.0 w Windows 8). Za pomocą tej blokady można wybiórczo blokować reklamy wyświetlane na stronach internetowych. Wpisując do pliku hosts linię 127.0.0.1 ad.doubleclick.net, można za jednym zamachem zablokować wszystkie reklamy pochodzące z tej sieci. Ta metoda jest mniej inwazyjna niż stosowanie Adblocka w przeglądarce, gdyż można ograniczyć blokady wyłącznie do najbardziej agresywnych reklamodawców.
Predefiniowane pliki
Jeśli nie chcesz się bawić w samodzielne blokowanie stron, możesz skorzystać z predefiniowanych plików hosts. Znajdują się w nich listy znanych domen, z których są serwowane reklamy oraz hosty wykorzystywane do szpiegowania ruchu internetowego, rozsyłania malware’u czy wyświetlania niechcianych reklam. Taką listę znajdziesz m.in. na stronie WinHelp 2002. Listę można zainstalować za pomocą dostępnego na stronie skryptu, ale najprościej kliknąć link View the hosts file in plain text form, skopiować zawartość do schowka, wkleić ją do Notatnika i nadpisać plik hosts. Alternatywną listę można znaleźć na stronie Hosts-File.
Niekiedy zwiększenie objętości pliku hosts do kilkuset kilobajtów może spowolnić proces rozwiązywania domen. Wówczas trzeba wyłączyć usługę Odnajdywanie sieci w ustawieniach systemu Windows. Można to zrobić, uruchamiając w Panelu sterowania aplet Centrum sieci i udostępniania i klikając link Zmień zaawansowane ustawienia udostępniania. W zaawansowanych ustawieniach trzeba rozwinąć używany profil sieciowy i zaznaczyć opcję Wyłącz odnajdywanie sieci. Po tej modyfikacji ustawień system operacyjny nie będzie aktywnie odnajdywał innych komputerów w sieci lokalnej. W zastosowaniach domowych nie jest to problemem. Ten sam efekt można także osiągnąć, zatrzymując usługę klienta DNS.
Blokowanie reklam przez plik hosts na Androidzie
Plik hosts jest także używany we wszystkich odmianach systemów z rodziny Unix/Linux, także w Androidzie. Można go wykorzystać do blokowania reklam wyświetlanych na stronach i w aplikacjach. Jedyną niedogodnością jest fakt, że do tego zabiegu niezbędny jest dostęp root. Jeśli masz zrootowany smartfon, nie musisz nawet modyfikować pliku ręcznie. Wystarczy zainstalować aplikację
AdAway, która wypełni plik hosts w taki sposób, by zablokować większość zbędnych treści. Aplikacja, ze względu na swój charakter, nie jest dostępna w sklepie
Google Play. Można ją pobrać ze strony domowej https://sufficientlysecure.org/index.php/adaway/ lub z jednego z alternatywnych repozytoriów, jak np. F-droid, czyli strony z aplikacjami opensource do Androida.