Anleitung zum Bearbeiten von /etc/hosts

In einem anderen Thread wurde angemerkt, dass es möglich sein sollte, mit der Datei /etc/hosts eine Whitelist für ein Android-Gerät aufzubauen. Ich würde gerne mit dieser Idee experimentieren. Hat jemand eine Anleitung, wie man da vorgehen kann?

Es ist viele Jahre her, seit ich mit diesem Netzwerkbereich gespielt habe, aber soweit ich mich erinnere, erlaubt Ihnen die Host-Datei, eine IP für eine URL anzugeben, die die veröffentlichten DNS-Einstellungen außer Kraft setzt. Damit ist es ziemlich einfach, eine Liste von Inhalten zu erstellen, auf die ich zugreifen oder die ich explizit sperren möchte, aber ich bin mir nicht sicher, wie das den Zugriff auf andere Inhalte verhindern hilft. Mir ist keine Möglichkeit bekannt, und Google hat mir bisher keine Möglichkeit gezeigt, der Hostdatei mitzuteilen, dass sie alle anderen Anforderungen abfangen soll. Unterstützt Android irgendeine Form von Platzhaltern in der Hosts-Datei? Oder gibt es eine Möglichkeit, DNS unabhängig von der aktiven Netzwerkverbindung zu deaktivieren?

Beachten Sie, dass die Geräte, um die ich mir im Moment Sorgen mache, nur Wi-Fi-Tische sind, auf denen Android 2.3.3 ausgeführt wird. Ich bin bereit, sie bei Bedarf zu rooten.

Antworten (4)

/etc/hosts erlaubt keine Wildcards (siehe hier: https://serverfault.com/questions/118378/in-my-etc-hosts-file-on-linux-osx-how-do-i-do-a -Wildcard-Subdomain ).

Zwei weitere Links zu /etc/hosts:

/etc/hostseignet sich in diesem Zusammenhang eigentlich nur zum Blacklisting.

Für Whitelisting verwenden Sie am besten einen Proxy-Server und stellen dann Ihr Gerät in den Netzwerkeinstellungen Ihres Geräts so ein, dass es verwendet wird.

Sie können einen bestehenden Proxy-Serverdienst abonnieren oder zu Hause Ihren eigenen einrichten. Das sollte genug Informationen sein, um Sie dazu zu bringen, nach den Antworten zu googeln, die Sie benötigen. Ich habe dieser Antwort in Ihrem ursprünglichen Thread etwas mehr Details hinzugefügt .

Zu Ihrer Information, die Verwendung eines Proxy-Servers erfordert kein Rooten.

Die Hosts-Datei verhält sich wie ein lokaler DNS, sie überprüft die Hosts-Datei auf die Domain und sieht, ob darin eine zugewiesene IP-Adresse enthalten ist. Wenn ja, ist dies die IP-Adresse, die für die Domäne verwendet wird. Sie können keine weiße Liste erstellen, aber Sie könnten eher eine schwarze Liste erstellen. Die Datei sieht in etwa so aus:

IrgendeineBaddomain.com 127.0.0.1
IrgendeineandereDomain.com 127.0.0.1

Dadurch würde jede Anfrage an eine dieser Domänen in localhost aufgelöst werden. Wenn die Domäne nicht in der Datei enthalten ist, trifft sie auf das externe DNS, um zu versuchen, die IP-Adresse abzurufen.

Dies hat einen Haken: Sie benötigen root, um die Hosts-Datei zu ändern.

Für die mit WLAN verbundenen Hosts meines Heimnetzwerks (ich habe 4 davon, 3 Windows 10, 1 Ubuntu Linux 19.10) setze ich ihre bevorzugte DNS-Serveradresse immer auf die IP-Adresse meines Kabelmodems / WLAN-Routers (192.168.0.1). Ich habe die internen DNS-Servereinstellungen des WLAN-Routers auf die schnellsten DNS-Server eingestellt, die ich finden kann, normalerweise OpenDNS:

208 67 220 123

 - and - 

208 67 222 123

Auf diese Weise habe ich immer blitzschnelle Ergebnisse erzielt, unabhängig von der Marke / Modellnummer und Konfiguration meines Kabelmodems / WLAN-Routers.