Ich habe /sys
als erneut gemountet rw
, einen Eintrag zu etc/hosts
(z. B. 10.0.0.1 x.com www.x.com
) hinzugefügt und mein Gerät neu gestartet.
Wenn ich nach dem Neustart prüfe etc/hosts
, ist der Eintrag in Ordnung. Wenn ich pinge x.com
, pingt es die richtige IP-Adresse, die ich eingegeben habe.
Wenn ich jedoch einen Webbrowser (entweder Stock oder Dolphin) öffne und zu navigiere, x.com
wechselt dieser zu der IP-Adresse, in die der DNS aufgelöst wird.
Was ist los?
(Mein Telefon ist ein Nexus One, auf dem das benutzerdefinierte Cyanogen 7.1-ROM auf Basis von Android 2.3.7 ausgeführt wird.)
Update:
Auf der App ' LAN Droid ' bekomme ich die bearbeitete Adresse (also 10.0.0.1
) auch prima. Es scheint, dass es nur die Browser sind, in denen es sich falsch verhält.
ls -l /etc/hosts
möglicherweise Berechtigungs- / Besitzprobleme?chmod 644 /system/etc/hosts
aussortiertAntworten:
Das hört sich genau so an , bis auf Ping, aber nicht auf den Browser. Seine letztendliche Lösung wird unten zitiert:
Ich weiß nicht, was Sie zum Ändern verwendet haben, aber Sie möchten möglicherweise überprüfen, welche Art von Zeilenvorschub- / Zeilenumbruchzeichen verwendet werden.
quelle
ff=unix
undset list
einen DOS-Zeilenumbruch zu sehen ... ging sogar voran und führte einen regulären Ausdruck aus, als gäbe es einen DOS-Zeilenumbruch, nichts gefunden.Ich bin mir nicht sicher, ob das hilft, aber ich hatte ein Problem mit einer ignorierten Hosts-Datei und es wurde von einem Typ in diesem Thread gelöst. Die Antwort ist, eine leere neue Zeile am Ende der Datei einzufügen.
quelle
Können Sie strace installieren und die auf ping ausgeführte Ausgabe mit strace im Browser vergleichen, um festzustellen, warum DNS-Lookups anders gehandhabt werden?
Sind Sie sicher, dass kein beständiges Caching stattfindet? Was ist die TTL in Ihren Domain-Einträgen?
Android scheint /etc/resolv.conf nicht zu verwenden, aber möglicherweise gibt es einige Eigenschaften, die steuern, welche Apps / etc / hosts verwenden und welche direkt zur DNS-Suche gehen. https://groups.google.com/forum/?fromgroups#!topic/android-platform/K2Wr4WaEneI
quelle
Wenn Sie die Hosts-Datei auf einem Windows-Computer erstellen, stellen Sie sicher, dass jede Zeile nur durch ein LF getrennt ist (nicht [CR] [LF], nur [LF]). Sie können dies überprüfen und mit Notepad ++ die richtigen Hostdateien erstellen.
quelle
Ich denke, Sie müssen DNS auf Ihrem Android-Gerät leeren. Überprüfen Sie diese Frage /programming/2101762/android-flush-dns , insbesondere "Einstellungen aufrufen -> Anwendungen -> Netzwerkspeicherort -> Daten löschen".
quelle
Mein Verdacht wäre, dass der Browser so konfiguriert ist, dass er über einen Proxy funktioniert.
Möglicherweise können Sie mithilfe von netstat -n oder in / proc / net / tcp (oder besser noch in / proc / # browser_pid # / net / tcp) feststellen, mit welcher Adresse die Verbindung tatsächlich hergestellt wird. Wenn dies nicht mit der Adresse Ihrer Website übereinstimmt, gehen Sie wahrscheinlich zu einem Vermittler.
quelle
Normalerweise würde ich sagen (aber das trifft leider nicht auf Sie zu):
Versuchen Sie einfach einen Neustart, wenn Änderungen nicht bemerkt werden, weil die Dalvik-Maschineninstanz oder das zugrunde liegende System möglicherweise eine frühere DNS-Anforderung zwischengespeichert hat.
Sie können AdAway versuchen, Einträge manuell zu Ihrer Hosts-Datei hinzuzufügen (nur um zu überprüfen, ob es das Gleiche tut wie manuell).
quelle