wake-up-neo.net

Gibt es eine Hosts-Datei auf dem iPhone? Wie kann man das ändern?

Ich entwickle eine Anwendung, die den Server abfragt. Auf meinem Mac verwende ich die hosts-Datei, um die DNS so zu ändern, dass sie auf einen lokalen Server in meinem lokalen Netzwerk verweist.

Jetzt muss ich es mit meinem iPhone testen. Das Problem ist, dass mein iPhone diesen Server aufgrund der fehlenden Konfiguration für DNS nicht erkennt.

Auf meinem Mac oder Windows füge ich einfach hinzu: 192.168.0.20 http://www.google.com in die hosts-Datei.

Wie kann ich meinem iPhone nun die URL mitteilen: http://www.google.com ?

96
Hoang Pham

Dies beantwortet Ihre Frage nicht direkt, sondern löst Ihr Problem ...

Welchen Router haben Sie? Mit Ihrer Router-Firmware können Sie möglicherweise DNS-Einträge für Ihr lokales Netzwerk festlegen. Das mache ich mit der Tomato Firmware

34
Andrew Bullock

Eine weitere Möglichkeit besteht darin, Ihr iPhone über einen Proxy verbinden zu lassen. Hier ist ein Beispiel, wie man es mit Fiddler macht (es ist sehr einfach):

http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

In diesem Fall wird bei DNS-Suchen auf Ihrem iPhone die Hosts-Datei des Computers verwendet, auf dem Fiddler ausgeführt wird. Beachten Sie jedoch , dass Sie einen Namen verwenden müssen, der über DNS aufgelöst wird. example.local wird zum Beispiel nicht funktionieren. example.xyz oder example.dev werden.

75
stubotnik

Nicht programmierbezogen, aber ich antworte trotzdem. Es ist in /etc/hosts.

Sie können es mit einem einfachen Texteditor wie nano ändern.

(Offensichtlich brauchst du dafür ein iPhone mit Jailbreak)

32
Thomas Bonini

Ich habe gerade die Hosts-Datei meines iPhones erfolgreich bearbeitet (unter Jailbroken iOS 4.0).

  • Installierte OpenSSH auf dem iPhone über Cydia
  • Mit einem SFTP-Client wie FileZilla auf meinem Computer habe ich eine Verbindung zu meinem iPhone hergestellt
    • Adresse: [Verwenden Sie die IP-Adresse oder den Hostnamen Ihres Telefons, z. simophone.local]
    • Benutzername: root
    • Passwort: Alpine
  • Befindet sich das /etc/hosts Datei
  • Auf meinem Computer ein Backup erstellt (falls ich meine Änderungen später zurücksetzen möchte)
  • Bearbeitet die Hosts-Datei in einem anständigen Texteditor (wie Notepad ++ ). Siehe hier für eine Erklärung der hosts-Datei.
  • Die Änderungen wurden hochgeladen und die Hosts-Datei auf dem iPhone wurde überschrieben

Das Telefon speichert einige Webseiten und DNS-Abfragen im Cache. Daher kann ein Neustart oder ein Leeren des Cache hilfreich sein. Hoffe das hilft jemandem.

Simon.

13
Simon East

Falls jemand anderes auf diese Seite fällt, können Sie dies auch lösen, indem Sie die IP-Adresse in der URL-Anfrage anstelle der Domain verwenden:

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

Dann geben Sie den Host manuell an:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

Der Server verhält sich genau so, als ob Sie http://myserver/mypage.php Verwendet hätten, nur dass das iPhone keine DNS-Suche durchführen muss.

100% öffentliche API.

6
ekscrypto

Es könnte existieren, aber Sie können es nicht auf einem iPhone ohne Jailbreak ändern.

Angenommen, Ihr Entwicklungs-Webserver ist auf einem Mac installiert, warum verwenden Sie nicht einfach den Bonjour-Namen (z. B. MyMac.local.) anstatt myrealwebserverontheinternet.com?

6
oefe

Ändern Sie nicht den DNS auf dem Telefon. Stellen Sie stattdessen eine WLAN-Verbindung zum lokalen Netzwerk her, und schon sind Sie fertig.

In meinem Büro haben wir interne Server mit internem DNS, die nicht mit dem Internet verbunden sind. Ich verbinde mich nur mit dem iPhone mit dem Büro-WLAN und kann dann problemlos darauf zugreifen.

YMMV, aber anstatt das Telefon-DNS zu konfigurieren, ist es für mich eine sauberere und einfachere Lösung, nur lokales internes DNS und WLAN einzurichten.

4
Jaanus

Nein, eine iPhone-Anwendung kann nur Dinge in ihrer eigenen kleinen Sandbox ändern. (Und selbst dort gibt es Dinge, die Sie nicht im laufenden Betrieb ändern können.)

Am besten verwenden Sie die IP-Adresse des Servers anstelle des Hostnamens. Etwas schwieriger, aber nicht dass schwer, wenn Sie nur eine einzelne Adresse auflösen müssen, wäre es, einen DNS-Server auf Ihrem Mac zu installieren und Ihr iPhone so zu konfigurieren, dass dieser verwendet wird.

1