Ich habe eine Website auf meinem Computer und möchte sie von meinem Nexus 7-Tablet aus testen. Dh über das lokale WiFi LAN. Wenn ich die IP-Adresse eingebe, wird eine Verbindung hergestellt, aber die falsche Website wird angezeigt, da ich ein benanntes virtuelles Hosting verwende.
Ich möchte also in der Lage sein, mysite.local
Chrome / Firefox auf dem Nexus einzugeben, diese in 10.1.2.3
(oder eine beliebige lokale IP-Adresse) konvertieren zu lassen und dann den 10.1.2.3
Server mysite.local
als Host anzurufen, um dies anzufordern.
Meine Frage: Verfügt ein Android 4.x-Tablet über /etc/hosts
Dateien oder gleichwertige Dateien, die ich bearbeiten kann? (Ohne das Tablet rooten zu müssen oder ähnliches.)
Auf meinen Linux-Computern füge ich dazu einen Eintrag hinzu in /etc/hosts
:
10.1.2.3 mysite.local
(Oder Windows\System32\drivers\etc\hosts
auf einem Windows-Computer macht das gleiche.)
Übrigens ist dies ein Halbduplikat von Manuell einen Hostnamen für die IP-Adresse festlegen (dh / etc / hosts äquiv.?) , Aber diese Frage war für Android 2.2, wo es anscheinend nicht möglich war. (Eine der alternativen Ideen war, DNS auf dem lokalen Router zu konfigurieren, aber soweit ich das beurteilen kann, führt mein Router kein DNS lokal aus, daher gibt es diese Option nicht. Ich könnte meinen eigenen DNS-Server dafür einrichten, aber das fühlt sich an wie eine Big Job-Lösung.)
quelle
/etc/hosts
, sondern deinen "Nameserver" zu konfigurieren (z. B. DNSMasq oder was auch immer du verwendest). Ihr Router könnte Ihnen einen Platz dafür geben./etc/hosts
muss ansonsten auf jedem Computer bearbeitet werden - und die entsprechende Datei unter Android kann nur mit "Root-Kräften" bearbeitet werden (ich weiß nicht genau, wo sie sich befindet, aber sie befindet sich irgendwo in/data/system
AFAIR). Siehe: So bearbeiten Sie etc / hosts-DateiAntworten:
Sie können die Hosts-Datei unter Android nicht einfach bearbeiten, da sie sich in einem schreibgeschützten Dateisystem befindet:
/system/etc/hosts
siehe:Alternativen sind:
quelle
Wie von lzzy erwähnt, können Sie den DNSMasq- Server verwenden, um dies zu erreichen. Chrome verwendet jedoch einen eigenen DNS-Auflösungsprozess, und diese Methode funktioniert möglicherweise nicht.
Verwenden Sie den folgenden Befehl, um den Server zu starten:
sudo
erforderlich, um an Port 53 zu binden-d
Server im Vordergrund starten--no-hosts
Verwenden Sie keine lokale Hosts-Datei--conf-file=/dev/null
Verwenden Sie keine Konfigurationsdatei--server=8.8.8.8 --server=8.8.4.4
Adressen von Upstream-Servern (in diesem Beispiel Google DNS)--address=/example.com/192.168.0.101
Hosts zu überschreiben. Sie müssen Ihre Hosts in dieser Zeile hinzufügen. Sie können dort auch mehrere Hosts hinzufügen.Ändern Sie dann den DNS-Server auf dem Gerät. Dies kann einfach mit der DNS Changer App durchgeführt werden.
Nach diesen Schritten sollten die Anforderungen an diese Hosts an Ihre Adressen gesendet werden.
quelle
Der einfachste Weg, eine Host-zu-IP-Zuordnung zu definieren , ist die
hosts
Datei, da die meisten DNS-Resolver diese Datei berücksichtigen . Wie in anderen Antworten erwähnt, ist es jedoch nicht möglich, Änderungen/etc/hosts
vorzunehmen , ohne das Android-Gerät zu rooten. Der Zugriff auf einen Webserver mit IP-Adresse funktioniert aufgrund des virtuellen Hostings auch nicht für Sie. Hier sind einige Optionen, die Sie auf Geräten ohne Root verwenden können:hosts
Datei nachschlägt, bevor Sie Abfragen an den konfigurierten Upstream-DNS-Server stellen.dnsmasq
, fügen Sieaddress=/mysite.local/10.1.2.3
zu „dnsmasq.conf“ . Oderdnscrypt-proxy
fügen Siemysite.local 10.1.2.3
zu "cloaking-rules.txt" hinzu .10.1.2.3 mysite.local
zurhosts
Datei auf dem Proxyserver hinzu oder führen Sie einen lokalen DNS-Server auf dem VPN-Server aus.hosts
Datei aus der benutzerdefinierten Wiederherstellung.Weitere Informationen finden Sie unter: Wie kann ein Domainname immer in eine feste IP aufgelöst werden, ohne zu rooten?
VERBUNDEN:
quelle