Die hosts-Datei kann dafür genutzt werden, IP-Adressen mit Hostnamen zu verknüpfen. Dies dient unter anderm dazu, im Webbrowser den Namen eines Webservers anstatt seiner IP-Adresse eingeben zu müssen. Unter Windows XP ist die hosts-Datei im Verzeichnis "\windows\system32\drivers\etc" auf der Systempartition (dies ist meist die Festplatte c:) zu finden. Normalerweise übernimmt ein Domain-Name-Server des Providers, der bei den Netzwerkeinstellungen des Rechners angegeben wird, die Transformation von Hostname und IP-Adresse. Für lokale Netzwerke kann es aber notwendig sein, Hostnamen und IP-Adressen lokaler Rechner in der hosts-Datei einzutragen.
Durch manipulierte Einträge in der hosts-Datei ist es nun möglich, Anfragen an den einen Webserver auf einen andere Webserver umzuleiten. So kann durch einen Eintrag zum Beispiel erreicht werden, dass bei der Angabe einer Bank-URL der Browser auf eine gefälschte Bankwebseite eines Phishers umgeleitet wird, ohne dass der Benutzer etwas davon mitbekommt. Dieses Angriffsszenario ist allgemein auch unter dem Begriff "Pharming" bekannt. Normalerweise führt ein Trojaner, der sich zum Beispiel über E-Mails verbreitet, diese Veränderungen der hosts-Datei durch.
Um sich vor einem Pharming-Angriff zu schützen, kann die hosts-Datei mit einem Schreibschutz (siehe Abbildung) versehen werden. Damit kann allerdings lediglich verhindert werden, dass Trojaner, die keine Administratorrechte besitzen, Einträge in der hosts-Datei verändern und somit Aufrufe von Webseiten umleiten.
Dieser Schutz ist jedoch trügerisch, da sich viele Trojaner Administratorrechte verschaffen können, häufig, weil die Nutzer mit Administratorrechten am Rechner arbeiten. Damit kann der Trojaner dann trotz Schreibschutz die hosts-Datei entsprechend manipulieren können. Ein Schutz vor einem Pharming-Angriff ist somit in keinem Fall sichergestellt.
Seit neuestem sind auch Trojaner im Umlauf, die auf eine Manipulation der hosts-Datei verzichten und stattdessen die Netzwerkeinstellungen entsprechend abändern: Sie tragen dort einfach einen falschen DNS-Server (zum Beispiel den des Angreifers) ein, der dann bei allen Umsetzungen zwischen IP-Adresse und Hostnamen benutzt wird. Da dies aber kein lokaler Vorgang ist, bietet ein Schreibschutz auf der hosts-Datei hier ebenfalls keinerlei Schutzwirkung.