Я сомневаюсь, что это возможно без обширного взлома, но возможно ли вообще отредактировать файл хоста iPad (или любого устройства iOS)?
Могу ли я редактировать файл хоста iPad?
Ответ 1
Нет. Приложения могут изменять только файлы в каталоге документов, в их собственной песочнице. Это для обеспечения безопасности и простоты установки/удаления. Таким образом, вы можете сделать это только на джейлбрейк-устройстве.
Ответ 2
Предыдущий ответ правильный, но если эффект, который вы ищете, это перенаправить HTTP-трафик для домена на другой IP-адрес.
Поскольку он технически не отвечает на ваш вопрос, я спросил и ответил на этот вопрос здесь:
Ответ 3
Нет, вы не можете изменить файл хоста iPad (без джейлбрейка), но можете обходиться.
Вот мой сценарий:
- Mac OS X, с IP
192.168.2.1
, запуск веб-приложения - iPad, устройство, которое вы хотите протестировать в веб-приложении.
- Charles (для Mac), включает HTTP-прокси для вашего iPad.
Я собираюсь протестировать веб-приложение, работающее на моем Mac через iPad, но я не могу получить доступ к нему напрямую.
Решение работает для меня:
- Во-первых, убедитесь, что ваш сервер и iPad находятся в одной локальной сети.
- Затем настройте прокси-сервер Charles в меню "Прокси-сервеp > Настройки прокси-сервера...", заполните
Port
(в основном8888
) и переключитеEnable transparent HTTP proxying
.
- Настройка прокси-сервера в iPad.
Теперь вы можете посетить свое веб-приложение в iPad.
Конечно, вы можете использовать другие прокси-инструменты, такие как Squid или Varnish в Linux или fiddler в Wondows.
Ответ 4
Самый простой способ сделать это - запустить симулятор iPad с помощью XCode, а затем добавить в файл хоста (/etc/hosts) запись в хост-системе, чтобы указать на ваш тестовый сайт.
Ответ 5
Да, вы можете редактировать файл хостов iPad, но вам нужно быть взломанным. Как только вы это сделаете, загрузите Cydia (рынок приложений) и получите iFile. Файл hosts находится внутри "/etc/hosts".
Ответ 6
Я бы предположил, что вы можете сделать это, установив прозрачный прокси-сервер, используя что-то вроде charles и перенаправляя трафик таким образом
Ответ 7
Мне нужна была такая же функциональность, и сделать джейлбрейк нет-нет. Одним из решений является размещение собственного DNS-сервера (MaraDNS), перейдите в настройки вашего Wi-Fi в ipad/телефоне и добавьте свой собственный DNS-сервер там.
Весь процесс занял у меня всего 10 минут, и он работает!
1) Загрузить MaraDNS
2) Запустите mkSecretTxt.exe
как администратор
3) Измените файл mararc
, мой:
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) Отредактируйте файл example.configuration:
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) Работает!
Ответ 8
Если у вас есть свобода выбора имени хоста, вы можете просто добавить свой хост к динамической службе DNS, например dyndns.org. Затем вы можете положиться на механизмы обычного разрешения iPad для разрешения адреса.
Ответ 9
Работающий я использую для целей разработки:
- Создайте свой собственный прокси-сервер (одним из вариантов будет: Squid в Linux).
- Задайте свой файл hosts своими доменами.
- Установите прокси-сервер на IPAD/IPHONE и вы можете использовать его с хостами.
Ответ 10
Вы также можете использовать прокси-сервер на своем iPhone или iPade через мобильный интернет (3G) с помощью прокси-генератора iPhone Mobile:
http://iphonesettings.net/mobileproxygenerator.php
Просто введите apn вашего оператора (с указанием имени пользователя/пароля apn, если необходимо) и прокси-сервера, который вы хотите пройти, и нажмите "Создать"
Ответ 11
Я знаю, что это было уже давно, но с iOS 7.1 несколько вещей изменились.
До сих пор, если вы разрабатываете приложение, вы ДОЛЖНЫ иметь действительный сертификат SSL, признанный Apple, иначе вы получите сообщение об ошибке iDevice. Больше нет самоподписанных сертификатов. См. Здесь список:
http://support.apple.com/kb/ht5012
Кроме того, если вы здесь, это означает, что вы пытаетесь заставить iDevice разрешить имя (на ваш https-сервер) в тестовой среде или среде разработки.
Вместо использования squid, который является отличным приложением, вы можете просто запустить очень простой DNS-сервер, например dnsmasq. Он будет использовать ваш файл hosts в качестве первой строки разрешения имен, поэтому вы можете в основном обмануть свою iDevice там, заявив, что www.blah.com - 192.168.10.10.
Конфигурационный файл прост, как от 3 до 4 строк, и вы даже можете настроить его внутренний DHCP-сервер, если хотите.
Вот мой:
слушать-адрес = 192.168.10.35
домена необходимо
поддельные-собства
не-DHCP-интерфейс = eth0
= локальная /LocalNet/
Конечно, вам нужно настроить сеть на своем iDevice для использования этого DNS (192.168.10.35 в моем случае) или просто начать использовать DHCP с этого сервера в любом случае после правильной настройки.
Кроме того, если dnsmasq не может разрешить внутреннее имя, он использует ваш обычный DNS-сервер (например, 8.8.8.8), чтобы разрешить его для вас. ОЧЕНЬ прост, изящный, и решил мои проблемы с установкой iDevice App внутри компании.
Кстати, решает многие проблемы с разрешением имен с обычными macs (OS X).
Теперь, мое разглагольствование: кровавое яблоко. Обеспечение безопасности устройства не должно включать кастинг операционной системы или разработчиков.
Ответ 12
Вам нужен доступ к /private/etc/
, так что нет. вы не можете.
Ответ 13
Теперь можно изменить файл hosts с помощью FilezaJailed из Tweakbox