https://123.23.145.67:80

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

 Danyal Aytekin21 сент. 2011 г., 15:43
@jano Предположительно, эта проблема теперь существует с приложениями в Mac App Store. Это связано с тем, что OSX требует пароль перед тем, как вы сможете редактировать файл hosts, а также, предположительно, с помощью процедуры проверки приложений Apple.
 Jasarien24 янв. 2011 г., 16:50
Не без джейлбрейка. После взлома он будет таким же, как и любая другая система Unix / BSD. Я полагаю, я не делал этого раньше.
 Jano02 авг. 2011 г., 21:20
Представьте, может ли какое-либо приложение изменить связь между именами хостов и их законными IP-адресами.
 Josh Mouch14 нояб. 2011 г., 18:21
@Jano: Microsoft Windows позволяет это сейчас, и это вызывает 0 проблем. Вам просто нужно иметь права администратора. И есть законные причины для того, чтобы захотеть изменить файл хостов (все это связано с тем, что нужно работать без DNS-сервера или с проблемами VPN).

Ответы на вопрос(13)

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

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

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

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

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

Пока что, если вы разрабатываете приложение, вы ДОЛЖНЫ иметь действительный сертификат 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 на месте.

Кстати, решает много проблем с разрешением имен с помощью обычных Mac (OS X).

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

 codeslapper13 июл. 2017 г., 20:55
Спасибо, Карлос. Беда в том, что мы используем мобильный продукт Pulse Secure для доступа к тестовым серверам. Они не доступны снаружи. Итак, если мы хотим протестировать новый сертификат PROD, нам нужно, чтобы iPad отправился на тестовый сервер (где установлен сертификат PROD); но использовать URL www.prod ...... com. поэтому пока что никакого решения по этому сценарию не найдено. : 0 (

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

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

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

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

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

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

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

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

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

 Edenshaw24 апр. 2017 г., 15:45
Отличное решение! Чистый и простой в реализации. Я использую Linux в качестве своей ОС для своей рабочей станции, поэтому я использовал tinyproxy, и прокси отлично работает с моим iPhone. Спасибо чувак!
 Matt Kenefick13 апр. 2015 г., 20:28
Он не отвечает на вопрос ... но это отличное, простое в реализации, легко переключаемое решение для целей, для которых большинство людей захотят отредактировать файл hosts.
 vanduc110219 мая 2017 г., 14:13
Это не работает на более новой версии iOS из-за проблем безопасности, может быть, это может быть проще сNodeJs модульfilternet

а делать джейлбрейк - нет-нет. Одним из решений является размещение себя 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) Работает!

 Filipe Pina30 июл. 2018 г., 02:13
каждый ответ здесь предполагает, что OP хочет перехватить HTTP-трафик, в то время как это единственный фактический ответ, который фокусируется на подмене разрешения DNS (как изменение файла hosts)
Решение Вопроса

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

 Jano02 авг. 2011 г., 21:17
Только в песочнице, но не только в каталоге документов (см. Руководство по программированию приложений iOS> Среда выполнения приложений> Файловая система).

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

 Simon08 окт. 2013 г., 10:00
@JanakNirmal Тем не менее полезный ответ.
 Janak Nirmal08 окт. 2013 г., 12:03
@ Симон рад слышать, что это помогло тебе.
 Janak Nirmal26 окт. 2012 г., 07:18
Вопрос об устройстве, а не симуляторе.

/private/etc/ так что нет ты не можешь.

 Daniel Smith21 дек. 2017 г., 20:47
@OmG, вопрос был "это вообще возможно", и его / ее комментарий действительно точно отвечает на вопрос. Прекратите копировать / вставлять комментарии, чтобы повысить свою репутацию.

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

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

вы можете просто добавить свой хост в службу DNS, например dyndns.org. Тогда вы можете положиться на обычные механизмы разрешения IPad для разрешения адреса.

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

http://iphonesettings.net/mobileproxygenerator.php

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

Ваш ответ на вопрос