Ich bezweifle, dass dies ohne umfangreichen Jailbreak möglich ist, aber ist es überhaupt möglich, die Hosts-Datei des iPad (oder eines iOS-Geräts) zu bearbeiten?
Ich bezweifle, dass dies ohne umfangreichen Jailbreak möglich ist, aber ist es überhaupt möglich, die Hosts-Datei des iPad (oder eines iOS-Geräts) zu bearbeiten?
Antworten:
Nein. Apps können nur Dateien im Dokumentenverzeichnis in ihrer eigenen Sandbox ändern. Dies dient der Sicherheit und der einfachen Installation / Deinstallation. Sie können dies also nur auf einem Gerät mit Jailbreak tun.
Die vorherige Antwort ist richtig, aber wenn der gesuchte Effekt darin besteht, den HTTP-Verkehr für eine Domain auf eine andere IP umzuleiten, gibt es eine Möglichkeit.
Da es Ihre Frage technisch nicht beantwortet, habe ich die Frage hier gestellt und beantwortet:
Nein, Sie können die iPad-Hostdatei nicht ändern (ohne Jailbreak), können dies jedoch umgehen.
Hier ist mein Szenario:
192.168.2.1
führt eine Web-App ausIch 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:
Port
(meistens 8888
) aus und schalten Sie um Enable transparent HTTP proxying
.Jetzt können Sie Ihre Web-App auf dem iPad besuchen.
Natürlich können Sie auch andere Proxy-Tools wie Squid oder Varnish unter Linux oder Fiddler unter Wondows verwenden.
NodeJs
Modul- Filternet
Der einfachste Weg, dies zu tun, besteht darin, einen iPad-Simulator mit XCode auszuführen und dann einen Eintrag in der Hosts-Datei (/ etc / hosts) auf dem Host-System hinzuzufügen, um auf Ihre Test-Site zu verweisen.
Ich brauchte die gleiche Funktionalität und Jailbreak ist No-No. Eine Lösung besteht darin, sich selbst als DNS-Server ( MaraDNS ) zu hosten , Ihre WLAN-Einstellungen in iPad / Telefon aufzurufen und dort Ihren benutzerdefinierten DNS-Server hinzuzufügen.
Der ganze Vorgang hat nur 10 Minuten gedauert und es funktioniert!
1) Laden Sie MaraDNS herunter
2) mkSecretTxt.exe
Als Administrator ausführen
3) mararc
Datei ändern , 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"
Fügen Sie die Datei " example.configuration
" in denselben Ordner ein, in dem sich der Ordner run_maradns.bat
befindet.
4) Bearbeiten Sie Ihre example.configuration-Datei:
Simple.Example.com. 10.10.13.13 ~
5) Deaktivieren Sie alle Firewalls (Komfort)
6) Führen Sie die Datei " run_maradns.bat
" aus
7) Es sollten keine Fehler vorliegen.
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!
Ja, Sie können die iPad-Hosts-Datei bearbeiten, müssen jedoch einen Jailbreak haben. Laden Sie anschließend Cydia (App Market) herunter und holen Sie sich iFile. Die Hosts-Datei befindet sich in "/ etc / hosts".
Ich würde mir vorstellen, dass Sie dies tun könnten, indem Sie einen transparenten Proxy einrichten, etwas wie Charles verwenden und den Datenverkehr auf diese Weise umleiten
Workarond, den ich für Entwicklungszwecke verwende:
Ich weiß, es ist schon eine Weile her, dass dies veröffentlicht wurde, aber mit iOS 7.1 haben sich einige Dinge geändert.
Wenn Sie eine App entwickeln, MÜSSEN Sie ein gültiges SSL-Zertifikat haben, das von Apple erkannt wurde. 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 (auf Ihrem https-Server) in einer Test- oder Entwicklungsumgebung aufzulösen.
Anstatt squid zu verwenden, was eine großartige Anwendung ist, können Sie einfach einen sehr einfachen DNS-Server wie dnsmasq ausführen. Es wird Ihre Hosts-Datei als erste Zeile für die Namensauflösung verwenden, sodass Sie Ihr iDevice dort grundsätzlich täuschen können, indem Sie sagen, dass www.blah.com 192.168.10.10 ist.
Die Konfigurationsdatei ist so einfach wie 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 dieses DNS zu verwenden (in meinem Fall 192.168.10.35), oder nach ordnungsgemäßer Konfiguration einfach DHCP von diesem Server verwenden.
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.
Löst übrigens viele Probleme mit der Namensauflösung auch mit normalen Macs (OS X).
Nun, mein Scherz: verdammter Apfel. Um ein Gerät sicher zu machen, sollte das Betriebssystem oder die Entwickler nicht kastriert werden.
Wenn Sie die Freiheit haben, den Hostnamen zu wählen, können Sie Ihren Host einfach einem dynanmischen 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.
Sie können auch einen Proxyserver auf Ihrem iPhone oder iPade über das mobile Internet (3G) verwenden, indem Sie einen iPhone Mobile-Proxy-Generator verwenden:
http://iphonesettings.net/mobileproxygenerator.php
Geben Sie einfach den APN Ihres Netzbetreibers (bei Bedarf mit dem Benutzernamen / Passwort des Apn) und den Proxyserver ein, den Sie durchlaufen möchten, und tippen Sie auf Generieren
iphonesettings.net
?
Sie benötigen Zugriff auf /private/etc/
so, nein. du kannst nicht.
Beste Antwort: Fügen Sie einfach http oder https in Ihrem Browser, die IP-Adresse, den Doppelpunkt und die Portnummer hinzu. Beispiel: https://123.23.145.67:80