Можно ли редактировать файл хоста iPad?

Я сомневаюсь, что это возможно без обширного взлома тюрьмы, но возможно ли вообще редактировать файл хостов iPad (или любого устройства iOS)?

13 ответов


нет. Приложения могут изменять файлы только в каталоге documents, в своей собственной песочнице. Это для безопасности и простоты установки/удаления. Таким образом, вы могли сделать это только на взломанном устройстве.


предыдущий ответ правильный, но если эффект, который вы ищете, заключается в перенаправлении HTTP-трафика для домена на другой IP-адрес, есть способ.

поскольку он технически не отвечает на ваш вопрос, я задал и ответил на вопрос здесь:

как перенаправить HTTP-запросы, сделанные с iPad?


нет, вы не можете изменить хост-файл iPad (без джейлбрейка), но можете обойти.

вот мой сценарий:

  • Mac OS X, с IP 192.168.2.1, запуск веб-приложения
  • iPad, устройство, которое вы хотели бы протестировать веб-приложение
  • Чарльз (для Mac), включает HTTP прокси для вашего iPad

Я собираюсь протестировать веб-приложение, запущенное на моем Mac через iPad, но я не могу получить к нему прямой доступ.

в решение работает для меня:

  • во-первых, убедитесь, что ваш сервер и iPad находятся в одной локальной сети.
  • затем настройте Charles proxy в меню " Прокси > Настройки прокси...", заполните Port(главным образом 8888) и тумблер Enable transparent HTTP proxying.

enter image description here


  • настройка прокси-сервера в iPad.

enter image description here

теперь вы можете посетить веб-приложение в 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 я использую для целей развития:

  1. создайте свой собственный прокси-сервер (один из вариантов: Squid в Linux).
  2. установите файл hosts с вашими доменами.
  3. установите прокси-сервер на 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), а также.

теперь моя тирада: кровавое Яблоко. Создание безопасного устройства не должно включать кастрирование операционной системы или разработчиков.


вам нужен доступ к /private/etc/ Так, нет. ты не можешь.


лучший ответ: Просто добавьте http или https в свой браузер, IP-адрес, двоеточие и номер порта. Пример: https://123.23.145.67:80