Je doute que cela soit possible sans une longue prison, mais est-il possible de modifier le fichier hôtes de l'iPad (ou de tout appareil iOS)?
Les applications ne peuvent modifier que les fichiers du répertoire de documents, dans leur propre bac à sable. Ceci est pour la sécurité et la facilité d'installation/désinstallation. Donc, vous ne pouvez le faire que sur un appareil jailbreaké.
La réponse précédente est correcte, mais si l’effet recherché est de rediriger le trafic HTTP d’un domaine vers une autre adresse IP, il existe un moyen.
Comme cela ne répond techniquement pas à votre question, j'ai posé et répondu à la question ici:
Comment puis-je rediriger les requêtes HTTP effectuées depuis un iPad?
Non, vous ne pouvez pas modifier le fichier hôte de l'iPad (sans jailbreak), mais vous pouvez contourner le problème.
Voici mon scénario:
192.168.2.1
, exécution d'une application WebJe vais tester l'application Web en cours d'exécution sur mon Mac via iPad, mais je ne peux pas y accéder directement.
La solution fonctionne pour moi:
Port
(principalement 8888
) et bascule Enable transparent HTTP proxying
.Maintenant, vous pouvez visiter votre application Web sur iPad.
Bien sûr, vous pouvez utiliser d’autres outils proxy comme Squid ou Varnish sous Linux, ou fiddler sous Wondows.
La méthode la plus simple consiste à exécuter un simulateur iPad à l'aide de XCode, puis à ajouter une entrée dans le fichier hosts (/ etc/hosts) du système hôte pour pointer vers votre site de test.
J'imagine que vous pourriez le faire en mettant en place un proxy transparent, en utilisant quelque chose comme Charles et en redirigeant le trafic de cette façon.
J'avais besoin de la même fonctionnalité, et jailbreak est non-non. Une solution consiste à vous héberger vous-même sur le serveur DNS ( MaraDNS ), accédez à vos paramètres wifi dans ipad/phone et ajoutez votre serveur DNS personnalisé à cet emplacement.
L'ensemble du processus ne m'a pris que 10 minutes et cela fonctionne!
1) Téléchargez MaraDNS
2) Run mkSecretTxt.exe
en tant qu'administrateur
3) Modifier le fichier mararc
, le mien est:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
Ajouter un fichier appelé "example.configuration
"dans le même dossier où run_maradns.bat
est.
4) Editez votre fichier example.configuration:
Simple.Example.com. 10.10.13.13 ~
5) Désactiver tous les pare-feu (commodité)
6) Exécuter le fichier "run_maradns.bat
"
7) Il ne devrait y avoir aucune erreur.
8) Ajoutez votre serveur DNS à la liste, comme indiqué ici: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) fonctionne!
Oui, vous pouvez modifier le fichier des hôtes iPad, mais vous devez être jailbreaké. Une fois que vous avez fait cela, téléchargez Cydia (App Market) et obtenez iFile. Le fichier hosts se trouve dans "/ etc/hosts".
Je sais que cela fait un moment que cela a été publié, mais avec iOS 7.1, certaines choses ont changé.
Jusqu'à présent, si vous développez une application, vous DEVEZ posséder un certificat SSL valide reconnu par Apple. Dans le cas contraire, vous recevrez un message d'erreur sur votre iDevice. Plus de certificats auto-signés. Voir ici une liste:
http://support.Apple.com/kb/ht5012
De plus, si vous êtes ici, cela signifie que vous essayez de vous faire résoudre un nom par iDevice (sur votre serveur https), dans un environnement de test ou de développement.
Au lieu d'utiliser squid, qui est une excellente application, vous pouvez simplement exécuter un serveur DNS très basique tel que Dnsmasq. Il utilisera votre fichier hosts comme première ligne de résolution de nom. Vous pouvez donc tromper votre iDevice en indiquant que www.blah.com correspond à 192.168.10.10.
Le fichier de configuration est aussi simple que 3 à 4 lignes et vous pouvez même configurer son serveur DHCP interne si vous le souhaitez.
Voici le mien:
listen-address = 192.168.10.35
domaine nécessaire
faux-privé
no-dhcp-interface = eth0
local =/localnet /
Bien sûr, vous devez configurer la mise en réseau sur votre iDevice pour utiliser ce DNS (192.168.10.35 dans mon cas), ou tout simplement commencer à utiliser le DHCP à partir de ce serveur, après l'avoir configuré correctement.
De plus, si dnsmasq ne peut pas résoudre le nom en interne, il utilise votre serveur DNS classique (tel que 8.8.8.8) pour le résoudre à votre place. TRÈS simple, élégant et résolu mes problèmes avec l'installation iDevice App en interne.
Soit dit en passant, résout de nombreux problèmes de résolution de noms avec les macs classiques (OS X).
Maintenant, mon coup de gueule: Bloody Apple. La sécurisation d’un appareil ne doit pas inclure la castration du système d’exploitation ou des développeurs.
Vous pouvez également utiliser un serveur proxy sur votre iPhone ou votre iPade via Internet mobile (3G) en utilisant un générateur de proxy iPhone Mobile:
http://iphonesettings.net/mobileproxygenerator.php
Il vous suffit de saisir l'apn de votre opérateur (avec nom d'utilisateur/mot de passe apn si nécessaire) et le serveur proxy par lequel vous souhaitez passer et appuyez sur Générer.
Workarond que j'utilise à des fins de développement:
Si vous êtes libre de choisir le nom d'hôte, vous pouvez simplement ajouter votre hôte à un service DNS dynamique, comme dyndns.org. Ensuite, vous pouvez compter sur les mécanismes de résolution normaux de l'iPad pour résoudre l'adresse.