Artykuł

sxc.hu sxc.hu
sie 25 2013
0

Szybsza sieć i blokowanie reklam z plikiem hosts

Obecne systemy operacyjne skrywają wiele ukrytych na pozór możliwości i tak naprawdę wie o nich stosunkowo niewielkie grono osób. Rozpatrzmy dla przykładu aspekt łączenia się komputera z wybraną witryną o zadanym adresie. Wpisując dowolny adres w naszej przeglądarce szukamy w sieci witryny, która identyfikuje się tym adresem. Strony same w sobie znajdują się na konkretnych serwerach skrywanych pod różnymi adresami IP - zupełnie tak jak nasz komputer w sieci. W praktyce więc zanim się połączymy z konkretnym adresem IP strony, musimy najpierw uzyskać połączenie z serwerem DNS, który przetłumaczy do tej postaci podany przez nas adres hosta.

Z reguły odbywa się to bardzo szybko, ale zdarzają się również sytuacje w których pojawiają się przycięcia, czy też awarie serwerów DNS wybranych ISP.

A co by było gdybym Wam powiedział, że dzięki odpowiedniej konfiguracji systemu, można pominąć w niektórych przypadkach łączenie się z DNS, zablokować wybrane reklamy w sieci bez użycia rozszerzenia przeglądarki, a także stworzyć wirtualne, lokalne domeny?

Zaintrygowani? Zainteresowani? Jeśli tak to czytajcie dalej;-)

Poznajcie plik hosts

Domyślam się, że jeśli doszliście do tego miejsca, to znaczy że zaintrygował Was wstęp do tekstu, więc już śpieszę z wyjaśnieniem jak to wszystko można ładnie skonfigurować. Sekretem do sukcesu jest w tym przypadku konfiguracja systemowego pliku hosts, który dla Windows XP/2003/Vista/7/8 można znaleźć w lokalizacji:

c:\Windows\System32\Drivers\etc\hosts

A jego domyślna zawartość wygląda tak:

# 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       localhost
#	::1             localhost

127.0.0.1 localhost

O co tu chodzi?

W praktyce wykorzystanie tego pliku jest bardzo proste. Definiujemy tutaj pary: adres - host, dzięki którym nasz system może sam, z pominięciem serwera DNS rozpoznać określone nazwy. Jest to również istotne rozwiązanie w kontekście wirtualnych domen, które stosujemy np. przy testowaniu projektowanych witryn, a także skuteczny bloker dla natrętnych dostawców reklam. Plik hosts obsługuje zarówno adresy IP4 (127.0.0.1 etc.) jak i IP6 (::1 etc.).

Edytujemy plik hosts!

Kilka akapitów wcześniej podałem lokalizację, w której znaleźć można rzeczony plik, najwyższa więc pora przystąpić do jego edycji. W tym celu najlepiej wykorzystać systemowy notatnik - niektóre inne narzędzia mogą mieć problem z zapisem zmian w tym pliku. Ze względu na silne znaczenie zawartych tu zapisów jest on dość dobrze chroniony przez system. Spójrzmy na przykładową konfigurację pliku hosts:

# Standardowe wpisy
127.0.0.1 localhost

# Wirtualne hosty
127.0.0.1 acd

# Szybsze wczytywanie reklam
87.98.239.19 www.altcontroldelete.pl

# Blokowanie reklam
127.0.0.1 pro.hit.gemius.pl
127.0.0.1 adidm.supermedia.pl

# Filtr blokujący reklamy w AQQ
127.10.10.10 talk.aqq.eu
127.10.20.20 contact.aqq.eu

Na początek standardowy wpis, w tym przypadku definicja localhosta. W kolejnym kroku określam wirtualny hosty. Wirtualne hosty należy konfigurować w kontekście użytkowania razem z serwerem WWW (np. Apache) i temu zagadnieniu poświęcę osobny wpis.

Następnie podajemy pary adres ip - host, które mają nam pozwolić na szybsze wczytywanie wybranych witryn. Adres wybranego serwisu można uzyskać za pomocą komendy ping wywoływanej w konsoli cmd:

ping www.altcontroldelete.pl

Nie przejmujcie się, jeśli uzyskacie rezultat podobny do tego widocznego na poniższym screenie. Niektórzy usługodawcy stosują specjalne zabezpieczenia i niemożliwe jest wykonanie prawidłowego pinga - ważne jest by uzyskać sam IP.

Na koniec zostawiłem blokowanie reklam. Temat kontrowersyjny i sam jako bloger oczywiście nie polecam tego rozwiązania, jednak żeby zachować obiektywizm tekstu, przedstawię również taką możliwość.

Za pomocą pliku hosts, możemy zablokować dowolny serwer reklamowy. Najprościej jest po prostu przekierować adres hosta takiego delikwenta na jakiś lokalny adres IP w ten sposób system nie odnajdzie reklam i nie załaduje ich. Podobnie można zrobić z reklamami w komunikatorze AQQ - podejrzewam, że również w wielu innych aplikacjach też coś takiego funkcjonuje. Cztery ostatnie wpisy w przykładowym pliku pokazują testowe rozwiązanie.

Plik hosts niesie ze sobą sporo możliwości, ale także sporo niebezpieczeństw. Co by było gdyby np. złośliwy wirus umieściłby w takim pliku przekierowanie hosta banku na jakiś podejrzany adres IP, na którym znalazła by się strona banku do złudzenia przypominająca oryginalną? Warto uważać i rozsądnie go edytować.

P.S. Podobny plik znajduje się w wielu innych systemach - np. w Linuxie znajdziecie go w lokalizacji /etc/hosts

P.S. 2 Nie jestem ekspertem z zakresu bezpieczeństwa/systemów operacyjnych więc wybaczcie jeśli przez przypadek pojawiły się jakieś nieścisłości - chodziło mi tylko pokazanie możliwości mechanizmu;-)

Podoba Ci się ten wpis? Powiedz o tym innym!

Send to Kindle

Komentarze

blog comments powered by Disqus