Test-AufrufDer Aufruf an der Kommandozeile ohne Argumente bringt einen ausführlichen Info-Bildschirm zum Vorschein.Im aktiven Einsatz erwartet das Tool an der Kommandozeile mindestens ein Argument, nämlich den Pfad zur Hosts-Datei auf dem jeweiligen System. Zum Warmwerden können wir eine Kopie der Hosts-Datei ins Arbeitsverzeichnis von hostsupdate legen und damit herumspielen. Änderungen an dieser Datei haben keine Auswirkung auf die tatsächliche IP-Adressauflösung, zeigen aber sehr schön, wie sauber und diskret das Tool arbeitet. Beispiel Linux-Konsole: user@computer:~$ ./hostsupdate/hostsupdate hosts Beispiel Windows-Konsole: C:\> "%USERPROFILE%\hostsupdate\hostsupdate.exe" hosts |
![]() |
![]() |
Aufruf mit leerer Zwischenablage: Tiefer Suchlauf nach Mehrfacheinträgen. |
Aufruf mit echter Hosts-Datei Nun geben wir an der Kommandozeile den tatsächlichen Pfad zur Hosts-Datei auf dem System an. Da die Hosts-Datei im Systempfad normalerweise nur mit Administratorrechten verändert werden kann, müsste hostsupdate unter einem Administratorenkonto aufgerufen werden, damit es die entsprechenden Schreibrechte bekommt. |
|
![]() |
Ein Hostname aus der Zwischenablage wird als neuer Loopback-Eintrag übernommen. |
Anmerkungen Der Aufruf mit Administratorrechten wäre zweifelsohne die "vernünftigste" Variante, aber die wiederholte Passworteingabe kann schon ziemlich nerven, wenn wir auf Web-Safari alle paar Sekunden weitere Belästiger aussperren müssen. Wer das Risiko einschätzen kann, wird zu dem Schluss kommen, dass es unter bestimmten Bedingungen durchaus vertretbar ist, den Schreibzugriff für hosts temporär bzw. für bestimmte Nutzer freizugeben. Dann benötigt hostsupdate keine Sonderrechte mehr. Eine andere Möglichkeit besteht darin, das Programm hostsupdate einer privilegierten Nutzergruppe mit erhöhten Rechten zuzuordnen. (Selbes Prinzip, wie bei der Verwendung von TrueCrypt/VeraCrypt unter einem eingeschränkten Benutzerkonto.) |
|
DNS-CheckIn einer langjährig gewachsenen Hosts-Datei sammeln sich eine Menge Einträge an, die auf nicht (mehr) registrierte Hostnamen verweisen. Diese Einträge nehmen nur Platz weg und könnten ohne Weiteres aus der Sperrliste gelöscht werden.In manchen Fällen sperrt auch der Provider auf dem von ihm angebotenen DNS-Server bereits eine ganze Reihe von Hostnamen. Das ist dann allerdings Zensur und als solche natürlich abzulehnen. Es beginnt immer mit "besten Absichten", "mehr Sicherheit", "Verbrechensbekämpfung", "Infektionsschutz" und endet im Totalitarismus. Aber ich schweife ab ... Ob ein Hostname auf einen existierenden Server verweist, lässt sich ganz schnell durch eine DNS-Anfrage mit dem Netzwerktool nslookup herausfinden. Genau genommen liefert nslookup die Information, ob der betreffende Hostname aus der Sicht unseres Systems unter Verwendung der voreingestellten DNS-Server erreichbar wäre, oder eben nicht. Diese Information reicht für unsere Zwecke vollkommen aus. Also erzeugt hostsupdate einen entsprechenden Aufruf für nslookup und wertet die Antwort aus. Wenn da klipp und klar drinsteht, dass der angefragte Hostname nicht mehr existiert, wird hostsupdate den betreffenden Eintrag aus der eigenen Hosts-Datei löschen. In allen anderen Fällen (Existenz bestätigt, verzögerte Rückmeldung, Netzwerkprobleme) lässt hostsupdate den fraglichen Loopback-Eintrag natürlich stehen, damit die Sperre sicherheitshalber erhalten bleibt. In der gegenwärtigen Programmierung führt "DNS-Check" bis zu 500 Abfragen pro Aufruf durch. Damit ist ausgeschlossen, dass das Tool längere Zeit unbemerkt weiterläuft und übermäßigen DNS-Traffic verursacht. Zum Schluss markiert hostsupdate die Zeile, an der der DNS-Check beendet wurde. An dieser Stelle wird es beim nächsten Aufruf weitermachen. Wird der DNS-Check regelmäßig angewendet, erhalten wir eine Sperrliste, die nur noch gültige Hostnamen enthält, welche also aus der Sicht unseres Systems erreichbar wären, wenn der Loopback-Eintrag nicht existierte. Diese experimentelle und vergleichsweise zeitraubende Funktion wird durch ein weiteres Kommandozeilenargument "d" ausgelöst. Der Inhalt der Zwischenablage bleibt in diesem Fall unberücksichtigt. Aufruf DNS-Check unter Linux: user@computer:~$ ./hostsupdate/hostsupdate /etc/hosts d Aufruf DNS-Check unter Windows: C:\> "%USERPROFILE%\hostsupdate\hostsupdate.exe" C:\WINDOWS\system32\drivers\etc\hosts d Natürlich können wir uns auch für den Aufruf mit DNS-Check eine Desktop-Verknüpfung einrichten. |
|
![]() |
DNS-Check: Pro Aufruf werden 500 Loopback-Einträge mittels Nameserver-Anfrage geprüft. Falls ein Hostname nicht mehr existiert (DEAD), wird er aus der Sperrliste gelöscht. |
![]() |
![]() |
127.0.0.1 adwords.google.com 127.0.0.1 googlesyndication.com 127.0.0.1 pagead.googlesyndication.com 127.0.0.1 pagead2.googlesyndication.com 127.0.0.1 www.google-analytics.com 127.0.0.1 www.googleadservices.com 127.0.0.1 googleadservices.com 127.0.0.1 services.google.com 127.0.0.1 adservices.google.com 127.0.0.1 adservice.google.com 127.0.0.1 adservice.google.de 127.0.0.1 partner.googleadservices.com 127.0.0.1 google.begin2search.com 127.0.0.1 safebrowsing.clients.google.com 127.0.0.1 googleads.g.doubleclick.net 127.0.0.1 safebrowsing-cache.google.com 127.0.0.1 themes.googleusercontent.com 127.0.0.1 imageads.googleadservices.com 127.0.0.1 imageads1.googleadservices.com 127.0.0.1 imageads2.googleadservices.com 127.0.0.1 imageads3.googleadservices.com 127.0.0.1 imageads4.googleadservices.com 127.0.0.1 imageads5.googleadservices.com 127.0.0.1 imageads6.googleadservices.com 127.0.0.1 imageads7.googleadservices.com 127.0.0.1 imageads8.googleadservices.com 127.0.0.1 imageads9.googleadservices.com 127.0.0.1 pubads.g.doubleclick.net 127.0.0.1 securepubads.g.doubleclick.net 127.0.0.1 www.google-analytics.com 127.0.0.1 google-analytics.com 127.0.0.1 clientmetrics-pa.googleapis.com 127.0.0.1 ssl.google-analytics.com 127.0.0.1 pagead.googlesyndication.com 127.0.0.1 pagead2.googlesyndication.com 127.0.0.1 maps.googleapis.com 127.0.0.1 video-stats.video.google.com 127.0.0.1 afs.googleadservices.com 127.0.0.1 imageads.googleadservices.com 127.0.0.1 partner.googleadservices.com 127.0.0.1 www.appliedsemantics.com 127.0.0.1 sb-ssl.google.com 127.0.0.1 google.tucows.com 127.0.0.1 apis.google.com 127.0.0.1 ajax.googleapis.com 127.0.0.1 fonts.gstatic.com 127.0.0.1 fonts.googleapis.com 127.0.0.1 www.googletagmanager.com 127.0.0.1 tpc.googlesyndication.com 127.0.0.1 googletagmanager.com 127.0.0.1 www.googletagservices.com 127.0.0.1 googletagservices.com 127.0.0.1 clients1.google.com 127.0.0.1 plus.google.com 127.0.0.1 cse.google.com 127.0.0.1 consent.google.com 127.0.0.1 analytics.google.com 127.0.0.1 smartlock.google.com 127.0.0.1 ade.googlesyndication.com |
Google-Geschwüre abgeschnürt! |