it-swarm.com.de

Kann ich die Host-Datei eines iPads bearbeiten?

Ich bezweifle, dass dies ohne umfangreiche Jailbreaking möglich ist, aber ist es überhaupt möglich, die Hosts-Datei des iPad (oder eines iOS-Geräts) zu bearbeiten?

85
Ahmed Nuaman

Nein. Apps können nur Dateien im Dokumentenverzeichnis in ihrer eigenen Sandbox ändern. Dies dient der Sicherheit und erleichtert die Installation/Deinstallation. Sie können dies also nur auf einem Gerät mit Jailbreak durchführen.

45
Jonathan.

Die vorherige Antwort ist korrekt, aber wenn der gesuchte Effekt darin besteht, den HTTP-Verkehr für eine Domain auf eine andere IP umzuleiten, gibt es einen Weg.

Da Ihre Frage technisch nicht beantwortet wird, habe ich die Frage hier gestellt und beantwortet:

Wie kann ich HTTP-Anfragen von einem iPad umleiten?

52
tremoloqui

Nein, Sie können die Host-Datei des iPads nicht ändern (ohne Jailbreak), können dies jedoch umgehen.

Hier ist mein Szenario:

  • Mac OS X mit IP 192.168.2.1, Auf dem eine Web-App ausgeführt wird
  • iPad, das Gerät, auf dem Sie die Web-App testen möchten
  • Charles (für Mac), aktiviert den HTTP-Proxy für Ihr iPad

Ich werde die Web-App testen, die auf meinem Mac über das iPad ausgeführt wird, kann jedoch nicht direkt darauf zugreifen.

Die Lösung funktioniert bei mir:

  • Stellen Sie zunächst sicher, dass sich Ihr Server und Ihr iPad im selben lokalen Netzwerk befinden.
  • Richten Sie dann den Charles-Proxy im Menü "Proxy> Proxy-Einstellungen ..." ein, geben Sie Port (meistens 8888) Ein und schalten Sie Enable transparent HTTP proxying Um.

enter image description here


  • Richten Sie die Proxy-Einstellungen im iPad ein.

enter image description here

Jetzt können Sie Ihre Web-App auf dem iPad besuchen.

Natürlich können Sie auch andere Proxy-Tools wie Squid oder Varnish in Linux oder Fiddler in Wondows verwenden.

45
holys

Der einfachste Weg, dies zu tun, besteht darin, einen iPad-Simulator mit XCode auszuführen und dann einen Eintrag in der Host-Datei (/ etc/hosts) auf dem Host-System hinzuzufügen, um auf Ihre Test-Site zu verweisen.

5
Payson Welch

Ich würde mir vorstellen, dass Sie dies tun könnten, indem Sie einen transparenten Proxy einrichten und so etwas wie Charles verwenden und den Datenverkehr auf diese Weise umleiten

4
CosmicChild

Ich brauchte die gleiche Funktionalität und Jailbreak ist no-no. Eine Lösung besteht darin, sich selbst als DNS-Server zu hosten ( MaraDNS ), zu Ihren WLAN-Einstellungen im iPad/Telefon zu wechseln und dort Ihren benutzerdefinierten DNS-Server hinzuzufügen.

Der ganze Vorgang hat nur 10 Minuten gedauert und funktioniert!

1) Laden Sie MaraDNS herunter

2) Führen Sie mkSecretTxt.exe als Administrator

3) Ändere die mararc Datei, meine ist:

ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"

csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"

Datei mit dem Namen "example.configuration "in denselben Ordner, in dem run_maradns.bat ist.

4) Bearbeiten Sie Ihre example.configuration-Datei:

Simple.Example.com. 10.10.13.13 ~

5) Deaktiviere alle Firewalls (Bequemlichkeit)

6) Führen Sie die Datei "run_maradns.bat "

7) Es sollte keine Fehler geben.

8) Fügen Sie Ihren DNS-Server zur Liste hinzu, wie hier gezeigt: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html

9) Funktioniert!

4

Ja, Sie können die iPad-Hosts-Datei bearbeiten, müssen jedoch über einen Jailbreak verfügen. Laden Sie anschließend Cydia (App Market) herunter und laden Sie iFile herunter. Die hosts-Datei befindet sich in "/ etc/hosts".

4
Apollo Clark

Ich weiß, es ist schon eine Weile her, dass dies gepostet wurde, aber mit iOS 7.1 haben sich einige Dinge geändert.

Wenn Sie eine App entwickeln, MÜSSEN Sie bisher ein gültiges SSL-Zertifikat haben, das von Apple erkannt wird. Andernfalls wird auf Ihrem iDevice eine Fehlermeldung angezeigt. Keine selbstsignierten Zertifikate mehr. Sehen Sie hier eine Liste:

http://support.Apple.com/kb/ht5012

Wenn Sie hier sind, bedeutet dies außerdem, dass Sie versuchen, iDevice dazu zu bringen, einen Namen (für Ihren https-Server) in einer Test- oder Entwicklungsumgebung aufzulösen.

Anstatt Squid zu verwenden, was eine großartige Anwendung ist, könnten Sie einfach einen sehr einfachen DNS-Server wie dnsmasq ausführen. Es wird Ihre Hosts-Datei als erste Zeile der Namensauflösung verwenden, so dass Sie Ihr iDevice dort grundsätzlich zum Narren halten können und sagen, dass www.blah.com 192.168.10.10 ist.

Die Konfigurationsdatei besteht aus 3 bis 4 Zeilen, und Sie können sogar den internen DHCP-Server konfigurieren, wenn Sie möchten.

Hier ist mein:

listen-Adresse = 192.168.10.35

domain benötigt

scheinpriv

no-dhcp-interface = eth0

local =/localnet /

Natürlich müssen Sie das Netzwerk auf Ihrem iDevice konfigurieren, um diesen DNS zu verwenden (192.168.10.35 in meinem Fall), oder Sie müssen einfach DHCP von diesem Server aus verwenden, nachdem Sie es richtig konfiguriert haben.

Wenn dnsmasq den Namen nicht intern auflösen kann, verwendet es Ihren regulären DNS-Server (wie 8.8.8.8), um ihn für Sie aufzulösen. SEHR einfach, elegant und löste meine Probleme mit der internen Installation der iDevice-App.

Übrigens, löst viele Probleme mit der Namensauflösung auch bei normalen Macs (OS X).

Nun, mein Scherz: verdammter Apfel. Das Sichern eines Geräts sollte nicht das Kastrieren des Betriebssystems oder der Entwickler umfassen.

2
Carlos Cap

Sie können auch einen Proxyserver auf Ihrem iPhone oder iPade über das mobile Internet (3G) mithilfe eines iPhone Mobile-Proxy-Generators verwenden:

http://iphonesettings.net/mobileproxygenerator.php

Geben Sie einfach die APN Ihres Mobilfunkanbieters (ggf. mit APN-Benutzername/Passwort) und den Proxy-Server ein, den Sie durchlaufen möchten, und tippen Sie auf "Generieren"

2
Savas

Workarond verwende ich für Entwicklungszwecke:

  1. Erstellen Sie Ihren eigenen Proxy-Server (Eine Option wäre: Squid unter Linux).
  2. Legen Sie Ihre Hosts-Datei mit Ihren Domains fest.
  3. Stellen Sie den Proxy-Server auf dem IPAD/IPHONE ein und Sie können ihn mit Ihren Hosts verwenden.
2
tauanz

Wenn Sie den Hostnamen frei wählen können, können Sie Ihren Host einfach einem dynamischen DNS-Dienst wie dyndns.org hinzufügen. Dann können Sie sich auf die normalen Auflösungsmechanismen des iPad verlassen, um die Adresse aufzulösen.

2
jonseymour