web-dev-qa-db-fra.com

Puis-je modifier le fichier hôte d'un iPad?

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)?

85
Ahmed Nuaman

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é.

45
Jonathan.

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?

52
tremoloqui

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:

  • Mac OS X, avec IP 192.168.2.1, exécution d'une application Web
  • iPad, l'appareil sur lequel vous souhaitez tester l'application Web
  • Charles (pour Mac), active le proxy HTTP pour votre iPad

Je 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:

  • Tout d’abord, assurez-vous que votre serveur et votre iPad se trouvent sur le même réseau local.
  • Ensuite, configurez Charles proxy, dans le menu "Proxy> Paramètres du proxy ...", renseignez Port (principalement 8888) et bascule Enable transparent HTTP proxying.

enter image description here


  • Paramétrage du proxy de configuration sur iPad.

enter image description here

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.

45
holys

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.

5
Payson Welch

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.

4
CosmicChild

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!

4

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".

4
Apollo Clark

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.

2
Carlos Cap

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.

2
Savas

Workarond que j'utilise à des fins de développement:

  1. Créez votre propre serveur proxy (une option serait: Squid sur Linux).
  2. Définissez votre fichier hosts avec vos domaines.
  3. Définissez le serveur proxy sur l’IPAD/IPHONE et vous pourrez l’utiliser avec vos hôtes.
2
tauanz

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.

2
jonseymour