Могу ли я редактировать хост-файл iPad? - PullRequest
85 голосов
/ 24 января 2011

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

Ответы [ 13 ]

52 голосов
/ 02 августа 2011

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

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

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

45 голосов
/ 08 апреля 2014

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

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

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

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

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

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

enter image description here


  • Настройка параметров прокси в iPad.

enter image description here

Теперь вы можете посетить свое веб-приложение на iPad.

Конечно, вы можете использовать другие прокси-инструменты, такие как Squid или Varnish в Linux или скрипач в Wondows.

45 голосов
/ 03 февраля 2011

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

5 голосов
/ 06 марта 2012

Самый простой способ сделать это - запустить симулятор iPad с помощью XCode, а затем добавить запись в файле hosts (/ etc / hosts) в хост-системе, чтобы указать на ваш тестовый сайт.

4 голосов
/ 27 мая 2015

Мне нужна была та же функциональность, а делать джейлбрейк - нет-нет.Одним из решений является размещение DNS-сервера ( MaraDNS ), переход к настройкам Wi-Fi в ipad / phone и добавление туда своего собственного 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) Работает!

4 голосов
/ 03 августа 2012

Да, вы можете редактировать файл хостов iPad, но вам нужно сделать джейлбрейк. Как только вы это сделаете, загрузите Cydia (рынок приложений) и получите iFile. Файл hosts находится в /etc/hosts".

4 голосов
/ 12 марта 2012

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

2 голосов
/ 16 июля 2014

Я знаю, что это было давно, но в 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).

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

2 голосов
/ 07 февраля 2014

Вы также можете использовать прокси-сервер на своем iPhone или iPade через мобильный интернет (3G) с помощью генератора прокси для iPhone Mobile:

http://iphonesettings.net/mobileproxygenerator.php

Просто введите apn вашего оператора (при необходимости введите имя пользователя и пароль apn) и прокси-сервер, через который вы хотите пройти, и нажмите «Создать»

2 голосов
/ 18 октября 2013

Workarond Я использую в целях разработки:

  1. Создайте свой собственный прокси-сервер (один из вариантов: Squid в Linux).
  2. Установите файл hosts с вашими доменами.
  3. Установите прокси-сервер на IPAD / IPHONE, и вы сможете использовать его со своими хостами.
...