Можно ли редактировать файл хоста iPad?
Я сомневаюсь, что это возможно без обширного взлома тюрьмы, но возможно ли вообще редактировать файл хостов iPad (или любого устройства iOS)?
13 ответов
нет. Приложения могут изменять файлы только в каталоге documents, в своей собственной песочнице. Это для безопасности и простоты установки/удаления. Таким образом, вы могли сделать это только на взломанном устройстве.
предыдущий ответ правильный, но если эффект, который вы ищете, заключается в перенаправлении HTTP-трафика для домена на другой IP-адрес, есть способ.
поскольку он технически не отвечает на ваш вопрос, я задал и ответил на вопрос здесь:
нет, вы не можете изменить хост-файл iPad (без джейлбрейка), но можете обойти.
вот мой сценарий:
- Mac OS X, с IP
192.168.2.1
, запуск веб-приложения - iPad, устройство, которое вы хотели бы протестировать веб-приложение
- Чарльз (для Mac), включает HTTP прокси для вашего iPad
Я собираюсь протестировать веб-приложение, запущенное на моем Mac через iPad, но я не могу получить к нему прямой доступ.
в решение работает для меня:
- во-первых, убедитесь, что ваш сервер и iPad находятся в одной локальной сети.
- затем настройте Charles proxy в меню " Прокси > Настройки прокси...", заполните
Port
(главным образом8888
) и тумблерEnable transparent HTTP proxying
.
- настройка прокси-сервера в iPad.
теперь вы можете посетить веб-приложение в iPad.
конечно, вы можете используйте другие прокси-инструменты, такие как кальмаров или лак в Linux, или Саша в Wondows.
самый простой способ сделать это-запустить симулятор iPad с помощью XCode, а затем добавить запись в файл hosts (/etc/hosts) в хост-системе, чтобы указать на ваш тестовый сайт.
Да, вы можете редактировать файл hosts iPad, но вы должны быть джейлбрейкнут. Как только вы это сделаете, загрузите Cydia (app market) и получите iFile. Файл hosts находится в поле "/etc / hosts".
Я бы предположил, что вы можете сделать это, настроив прозрачный прокси-сервер, используя что-то вроде charles и перенаправляя трафик таким образом
мне нужна была та же функциональность, и джейлбрейк не-нет. Одним из решений является размещение DNS-сервера (MaraDNS), перейдите в настройки wifi в ipad / phone и добавьте там свой собственный DNS-сервер.
весь процесс занял у меня всего 10 минут, и это работает!
1) Скачать MaraDNS
2) Run mkSecretTxt.exe
в качестве администратора
3) изменить мина:
ipv4_bind_addresses = "put your public IP Here"
timestamp_type = 2
random_seed_file = "secret.txt"
csv2 = {}
csv2["Simple.Example.com."] = "example.configuration"
Добавить файл с названием "example.configuration
" в та же папка, где run_maradns.bat
есть.
4) отредактируйте свой пример.конфигурационный файл:
Simple.Example.com. 10.10.13.13 ~
5) отключить все брандмауэры (удобство)
6) запускаем файл "run_maradns.bat
"
7) не должно быть никаких ошибок.
8) Добавьте DNS-сервер в список, как показано здесь:http://www.iphonehacks.com/2014/08/change-dns-iphone-ipad.html
9) работает!
Если у вас есть свобода выбора имени хоста, то вы можете просто добавить свой хост в службу dynanmic DNS, например dyndns.org - ... Затем вы можете положиться на обычные механизмы разрешения iPad для разрешения адреса.
Workarond я использую для целей развития:
- создайте свой собственный прокси-сервер (один из вариантов: Squid в Linux).
- установите файл hosts с вашими доменами.
- установите прокси-сервер на IPAD / IPHONE, и вы можете использовать его с вашими хостами.
вы также можете использовать прокси-сервер на вашем iPhone или iPade через мобильный интернет (3G) с помощью iPhone Mobile proxy generator:
http://iphonesettings.net/mobileproxygenerator.php
просто введите apn вашего оператора (с APN имя пользователя / пароль, если необходимо) и прокси-сервер, который вы хотите пройти и нажмите Generate
Я знаю, что это было некоторое время, но с iOS 7.1 некоторые вещи изменились.
до сих пор, если вы разрабатываете приложение, вы должны иметь действительный сертификат SSL, признанный Apple, в противном случае вы получите сообщение об ошибке на вас iDevice. Никаких самозаверяющих сертификатов. Смотрите здесь список:
http://support.apple.com/kb/ht5012
кроме того, если вы здесь, это означает, что вы пытаетесь сделать вас iDevice решить имя (для сервера https) в тестовой среде или среде разработки.
вместо использования squid, который является отличным приложением, вы можете просто запустить очень простой DNS-сервер, такой как dnsmasq. Он будет использовать ваш файл hosts в качестве первой строки разрешения имен, поэтому вы можете в основном обмануть свой iDevice, сказав, что www.blah.com is 192.168.10.10.
файл конфигурации прост как 3 до 4 строки, и вы можете даже настроить свой внутренний сервер DHCP если вы хотеть.
вот мой:
listen-address=192.168.10.35
домен-нужен
фиктивный-priv
нет-dhcp-интерфейс=eth0
local= / localnet/
конечно, вы должны настроить сеть на своем iDevice, чтобы использовать этот DNS (192.168.10.35 в моем случае), или просто начать использовать DHCP с этого сервера в любом случае, после правильной настройки.
кроме того, если dnsmasq не может разрешить имя внутренне, он использует ваш обычный DNS-сервер (например, 8.8.8.8), чтобы решить это за вас. Очень простой, элегантный и решил мои проблемы с установкой приложения iDevice в доме.
кстати, решает многие проблемы разрешения имен с обычными macs (OS X), а также.
теперь моя тирада: кровавое Яблоко. Создание безопасного устройства не должно включать кастрирование операционной системы или разработчиков.
лучший ответ: Просто добавьте http или https в свой браузер, IP-адрес, двоеточие и номер порта. Пример: https://123.23.145.67:80