Soubor hosts slouží (nejenom) ve Windows pro vytvoření „překladu“ jména na IP adresu, tedy to co za normálních okolností řeší doménové servery a DNS. Pomocí hosts souboru si ale můžete vytvořit vlastní definice. Ať už třeba pro použití v domácí/lokální síti, nebo pro blokování některých doménových jmen (adres) – používá například i pro blokování reklamy (viz Jak se zbavit reklam na Internetu? Použít AdBlock Plus nebo spíš µBlock Origin).
Obsah hosts je čistý text, na každé řádce je možné určit převod v podobě IP adresy následované jmény, které se pro danou IP adresu mají stát ekvivalentní. Mimo to ještě může hosts obsahovat komentáře, v podobě řádku uvozeného znakem # na samém počátku. Nejzákladnější obsah hosts přitom většinou bývá alespoň definice localhost či loopback adres (reálně to není potřeba, je to řešeno přímo v rámci DNS).
127.0.0.1 localhost loopback ::1 localhost
hosts najdete na různých místech v různých operačních systémech – v Linuxu v /etc/hosts. Ve Windows od XP výše v \%SystemRoot%\System32\drivers\etc\hosts (v ještě starších to ale bylo %WinDir%\hosts připadně %WinDir%\HOSTS. V Mac OS X je to také trochu komplikovanější, do verze devět to bylo v složce Preferences či System a v novějších desítkovém OS X by to mělo být klasicky /etc/hosts (ve skutečnosti symlink na /private/etc/hosts)

Na hosts je podstatné i to, že bývá zneužíván viry, které pomocí změny dosahují přesměrování na napadené weby, phishingové stránky či blokování přístupu na weby výrobců antivirů (ale třeba i Windows Update). Windows 10 se tomu nově brání tím, že hosts je chráněn systémem – změna je možná pouze pokud máte práva správce a ještě vyvolává varovný dialog. Obecně se doporučuje (ve Windows) označit hosts jako pouze pro čtení (readonly).

TIP: Ve Windows ještě existuje lmhosts s velmi podobnou funkčností, jen jde o převod mezi NetBIOS jmény (jména počítačů v rámci Windows sítě) na IP adresy. Najdete ho zpravidla tam, kde je k nalezení i hosts
Jak ve Windows měnit (opravovat) obsah hosts? Snadno, třeba tak, že dorazíte do výše uvedené složky a soubor si otevřete pomocí aplikace Notepad (nebo čehokoliv jiného, co umožňuje pracovat s čistě textovým souborem). Je důležité ale vědět, že onen Notepad byste měli spustit jako správce. Stačí spustit příkazovou řádku (cmd) jako správce, poté se vydat do výše uvedené složka a pomocí „notepad hosts“ otevřít notepad s hosts souborem.
Pokud ani to nepomáhá (a může se vám to stát ve Windows 10) tak to lze obejít tak, že si hosts zkopírujete (nebo ten opravený uložíte) do nějaké vlastní složky, která není pod ochranou systému, provedete potřebné úpravy a pak nový hosts zkopírujete zpět. Dejte si případně ještě pozor, některé antivirové software může bránit změnám hosts souboru.
TIP: Pokud hosts opravujete často, tak by se vám mohl hodit HostsMan, program (aplikace) pro práci s hosts souborem. Není jediná, další alternativa je například SysMAte Hosts File Walker.
Dejte si pozor, abyste místo souboru hosts nevytvořili/neuložili soubor hosts.txt. Nebude to fungovat, protože to je poněkud jiný soubor.
Pokud změníte hosts a změna se neprojevuje, tak je dost dobře možné, že ještě budete muset vyprázdnit vyrovnávací paměť pro DNS dotazy. To se děje z příkazové řádky pomocí ipconfig /flushdns (o IPCONFIG si počtěte v K čemu slouží ve Windows příkaz ipconfig?)
K čemu všemu můžete hosts použit
Časté použití je pro zablokování přístupu k určitému webu – pokud třeba chcete zabránit přístup na facebook.com, tak stačí do hosts přidá řádku „127.0.0.1 facebook.com www.facebook.com m.facebook.com“
Další často použití je, že si můžete dát jméno domácímu routeru či jinému zařízení abyste nemuseli psát IP adresu pokaždé, když ho chcete používat. Uděláte to třeba tak, že do hosts přidáte řádku „192.168.0.30 DDNAS“
hosts budete potřebovat změnit třeba i v okamžiku, kdy testujete nějaký ještě nespuštěný web, nebo i vyvíjíte weby a máte je na lokálním stroji – v hosts si pak nadefinujete odpovídající jméno k dané IP adrese.
TIP: Ve K čemu se hodí veřejné DNS jako Google DNS či OpenDNS se dozvíte, jak si pořídit jiné DNS než to od vašeho ISP. A pokud nevíte co je to IP adresa, tak poradí Co je to IP adresa?A co je IPv4 a IPv6
Další podobné příkazy a věci
- K čemu slouží ve Windows příkaz netstat?
- V Jak zjistím, jestli mi funguje připojení na Internet? objevíte traceroute
- Co je to WiFi/Packet Sniffer?
- K čemu slouží ve Windows příkaz ipconfig?
- K čemu je (nejen) ve Windows soubor hosts?
- Jak prorazit cenzorský firewall?