Wątpię, czy jest to możliwe bez rozległego łamania więzień, ale czy w ogóle jest możliwa edycja pliku hostów iPada (lub dowolnego urządzenia iOS)?
Wątpię, czy jest to możliwe bez rozległego łamania więzień, ale czy w ogóle jest możliwa edycja pliku hostów iPada (lub dowolnego urządzenia iOS)?
Odpowiedzi:
Nie. Aplikacje mogą modyfikować pliki tylko w katalogu dokumentów, w swojej własnej piaskownicy. Ma to na celu bezpieczeństwo i łatwość instalacji / deinstalacji. Możesz więc to zrobić tylko na urządzeniu po jailbreaku.
Poprzednia odpowiedź jest poprawna, ale jeśli efektem, którego szukasz, jest przekierowanie ruchu HTTP dla domeny na inny adres IP, jest na to sposób.
Ponieważ technicznie nie odpowiada to na twoje pytanie, zadałem i odpowiedziałem na pytanie tutaj:
Nie, nie możesz zmienić pliku hosta iPada (bez jailbreak), ale możesz obejść ten problem.
Oto mój scenariusz:
192.168.2.1
, uruchomiona aplikacja internetowaMam zamiar przetestować aplikację internetową działającą na moim Macu za pośrednictwem iPada, ale nie mam do niej bezpośredniego dostępu.
Rozwiązanie działa u mnie:
Port
(głównie 8888
) i przełącz Enable transparent HTTP proxying
.Teraz możesz odwiedzić swoją aplikację internetową na iPadzie.
Oczywiście możesz użyć innych narzędzi proxy, takich jak Squid lub Varnish w Linuksie lub Fiddler w Wondows.
NodeJs
modułem filternet
Najłatwiej to zrobić, uruchamiając symulator iPada za pomocą XCode, a następnie dodając wpis w pliku hosts (/ etc / hosts) w systemie hosta, aby wskazywał na twoją witrynę testową.
Potrzebowałem tej samej funkcjonalności, a robienie jailbreak jest nie-nie. Jednym z rozwiązań jest hostowanie własnego serwera DNS ( MaraDNS ), przejście do ustawień Wi-Fi na iPadzie / telefonie i dodanie tam niestandardowego serwera DNS.
Cały proces zajął mi tylko 10 minut i działa!
1) Pobierz MaraDNS
2) Uruchom mkSecretTxt.exe
jako administrator
3) Zmodyfikuj mararc
plik, mój to:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
Dodaj plik o nazwie „ example.configuration
” do tego samego folderu, w którym run_maradns.bat
jest.
4) Edytuj plik example.configuration:
Simple.Example.com. 10.10.13.13 ~
5) Wyłącz wszystkie zapory (wygoda)
6) Uruchom plik „ run_maradns.bat
”
7) Nie powinno być żadnych błędów.
8) Dodaj swój serwer DNS do listy, jak pokazano tutaj: http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) Działa!
Tak, możesz edytować plik hostów iPada, ale musisz mieć jailbreak. Gdy to zrobisz, pobierz Cydia (rynek aplikacji) i pobierz iFile. Plik hosts znajduje się w „/ etc / hosts”.
Wyobrażam sobie, że możesz to zrobić, konfigurując przezroczyste proxy, używając czegoś takiego jak Charles i przekierowując w ten sposób ruch
Workarond, którego używam do celów programistycznych:
Wiem, że już dawno to zostało opublikowane, ale w iOS 7.1 kilka rzeczy się zmieniło.
Do tej pory, jeśli tworzysz aplikację, MUSISZ mieć ważny certyfikat SSL rozpoznawany przez Apple, w przeciwnym razie otrzymasz komunikat o błędzie na iDevice. Nigdy więcej certyfikatów z podpisem własnym. Zobacz listę:
http://support.apple.com/kb/ht5012
Dodatkowo, jeśli tu jesteś, oznacza to, że próbujesz zmusić iDevice do rozwiązania nazwy (na Twój serwer https) w środowisku testowym lub programistycznym.
Zamiast używać squid, która jest świetną aplikacją, możesz po prostu uruchomić bardzo podstawowy serwer DNS, taki jak dnsmasq. Użyje twojego pliku hosts jako pierwszej linii rozpoznawania nazwy, więc możesz w zasadzie oszukać tam swój iDevice, mówiąc, że www.blah.com to 192.168.10.10.
Plik konfiguracyjny ma od 3 do 4 wierszy, a jeśli chcesz, możesz nawet skonfigurować jego wewnętrzny serwer DHCP.
Tu jest moje:
nasłuchuj adres = 192.168.10.35
potrzebne domeny
fałszywe-priv
no-dhcp-interface = eth0
local = / localnet /
Oczywiście musisz skonfigurować sieć na swoim iDevice, aby używać tego DNS (192.168.10.35 w moim przypadku) lub po prostu zacząć korzystać z DHCP z tego serwera, po prawidłowym skonfigurowaniu.
Ponadto, jeśli dnsmasq nie może rozwiązać nazwy wewnętrznie, używa Twojego zwykłego serwera DNS (np. 8.8.8.8), aby rozwiązać ją za Ciebie. BARDZO prosty, elegancki i rozwiązał moje problemy z instalacją aplikacji iDevice we własnym zakresie.
Nawiasem mówiąc, rozwiązuje również wiele problemów z rozpoznawaniem nazw na zwykłych komputerach Mac (OS X).
Teraz moja rant: cholerne jabłko. Zabezpieczanie urządzenia nie powinno obejmować kastrowania systemu operacyjnego ani programistów.
Jeśli masz swobodę wyboru nazwy hosta, możesz po prostu dodać swojego hosta do usługi dynanmic DNS, takiej jak dyndns.org. Następnie możesz polegać na normalnych mechanizmach rozdzielczości iPada, aby rozwiązać adres.
Możesz również skorzystać z serwera proxy na swoim iPhonie lub iPade za pośrednictwem mobilnego internetu (3G), używając generatora iPhone Mobile proxy:
http://iphonesettings.net/mobileproxygenerator.php
Po prostu wprowadź apn swojego operatora (w razie potrzeby z nazwą użytkownika / hasłem apn) i serwer proxy, przez który chcesz przejść, i dotknij Generuj
iphonesettings.net
?
Potrzebujesz dostępu, /private/etc/
więc nie. nie możesz.
Najlepsza odpowiedź: Po prostu dodaj http lub https do przeglądarki, adres IP, dwukropek i numer portu. Przykład: https://123.23.145.67:80