Dubito che ciò sia possibile senza un ampio jailbreak, ma è possibile modificare il file host dell'iPad (o di qualsiasi dispositivo iOS)?
Dubito che ciò sia possibile senza un ampio jailbreak, ma è possibile modificare il file host dell'iPad (o di qualsiasi dispositivo iOS)?
Risposte:
No. Le app possono modificare solo i file all'interno della directory dei documenti, all'interno della propria sandbox. Questo è per sicurezza e facilità di installazione / disinstallazione. Quindi puoi farlo solo su un dispositivo jailbroken.
La risposta precedente è corretta, ma se l'effetto che stai cercando è reindirizzare il traffico HTTP per un dominio a un altro IP, c'è un modo.
Poiché tecnicamente non risponde alla tua domanda, ho posto e ho risposto alla domanda qui:
Come posso reindirizzare le richieste HTTP fatte da un iPad?
No, non puoi modificare il file host di iPad (senza jailbreak), ma puoi risolvere il problema.
Ecco il mio scenario:
192.168.2.1
, che esegue un'app WebProverò l'app Web in esecuzione sul mio Mac tramite iPad, ma non posso accedervi direttamente.
La soluzione funziona per me:
Port
(principalmente 8888
) e attiva Enable transparent HTTP proxying
.Ora puoi visitare la tua app web su iPad.
Ovviamente puoi usare altri strumenti proxy come Squid o Varnish in Linux o fiddler in Wondows.
NodeJs
modulo filternet
Il modo più semplice per farlo è eseguire un simulatore di iPad utilizzando XCode e quindi aggiungere una voce nel file hosts (/ etc / hosts) sul sistema host per puntare al tuo sito di test.
Avevo bisogno della stessa funzionalità e fare il jailbreak è no-no. Una soluzione è ospitare da soli il server DNS ( MaraDNS ), andare alle impostazioni - su ipad / telefono e aggiungere lì il tuo server DNS personalizzato.
L'intero processo mi ha richiesto solo 10 minuti e funziona!
1) Scarica MaraDNS
2) Esegui mkSecretTxt.exe
come amministratore
3) Modifica mararc
file, il mio è:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
Aggiungi il file chiamato " example.configuration
" nella stessa cartella in cui si run_maradns.bat
trova.
4) Modifica il tuo file example.configuration:
Simple.Example.com. 10.10.13.13 ~
5) Disabilita tutti i firewall (comodità)
6) Esegui il file " run_maradns.bat
"
7) Non dovrebbero esserci errori.
8) Aggiungi il tuo server DNS all'elenco, come mostrato qui: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) Funziona!
Sì, puoi modificare il file hosts dell'iPad, ma è necessario eseguire il jailbreak. Dopo averlo fatto, scarica Cydia (mercato delle app) e ottieni iFile. Il file hosts si trova in "/ etc / hosts".
Immagino che potresti farlo impostando un proxy trasparente, usando qualcosa come charles e reindirizzando il traffico in questo modo
Workarond che utilizzo per scopi di sviluppo:
So che è stato pubblicato un po 'di tempo, ma con iOS 7.1 alcune cose sono cambiate.
Finora, se stai sviluppando un'app, DEVI avere un certificato SSL valido riconosciuto da Apple, altrimenti riceverai un messaggio di errore sul tuo iDevice. Niente più certificati autofirmati. Vedi qui un elenco:
http://support.apple.com/kb/ht5012
Inoltre, se sei qui, significa che stai cercando di farti risolvere un nome da iDevice (sul tuo server https), in un ambiente di test o di sviluppo.
Invece di usare squid, che è un'ottima applicazione, potresti semplicemente eseguire un server DNS molto semplice come dnsmasq. Utilizzerà il tuo file hosts come prima riga di risoluzione dei nomi, quindi puoi praticamente ingannare il tuo iDevice lì, dicendo che www.blah.com è 192.168.10.10.
Il file di configurazione è semplice da 3 a 4 righe e, se lo desideri, puoi persino configurare il suo server DHCP interno.
Ecco il mio:
indirizzo-ascolto = 192.168.10.35
dominio necessario
bogus-priv
no-dhcp-interface = eth0
local = / localnet /
Ovviamente devi configurare la rete sul tuo iDevice per utilizzare quel DNS (192.168.10.35 nel mio caso), o semplicemente iniziare a utilizzare DHCP da quel server comunque, dopo aver configurato correttamente.
Inoltre, se dnsmasq non è in grado di risolvere il nome internamente, utilizza il tuo normale server DNS (come 8.8.8.8) per risolverlo per te. MOLTO semplice, elegante e ha risolto i miei problemi con l'installazione dell'app iDevice internamente.
A proposito, risolve molti problemi di risoluzione dei nomi anche con i normali Mac (OS X).
Ora, il mio sproloquio: maledetta mela. Rendere sicuro un dispositivo non dovrebbe includere la castrazione del sistema operativo o degli sviluppatori.
Se hai la libertà di scegliere il nome host, puoi semplicemente aggiungere il tuo host a un servizio DNS dinamico, come dyndns.org. Quindi puoi fare affidamento sui normali meccanismi di risoluzione dell'iPad per risolvere l'indirizzo.
Puoi anche utilizzare un server proxy sul tuo iPhone o iPade tramite Internet mobile (3G) utilizzando un generatore di proxy mobile per iPhone:
http://iphonesettings.net/mobileproxygenerator.php
Basta inserire l'apn del tuo operatore (con nome utente / password apn se necessario) e il server proxy che desideri passare e tocca Genera
iphonesettings.net
?
Hai bisogno di accedere a /private/etc/
così, no. non puoi.
Risposta migliore: aggiungi semplicemente http o https nel tuo browser, indirizzo IP, due punti e numero di porta. Esempio: https://123.23.145.67:80