大規模なジェイルブレイクなしでこれが可能だとは思いませんが、iPad(またはiOSデバイス)のhostsファイルを編集することはまったく可能ですか?
いいえ。アプリは、ドキュメントディレクトリ内のサンドボックス内のファイルのみを変更できます。これは、セキュリティ、およびインストール/アンインストールの容易さのためです。したがって、ジェイルブレイクされたデバイスでのみこれを行うことができます。
前の答えは正しいですが、探している効果がドメインのHTTPトラフィックを別のIPにリダイレクトすることである場合、方法があります。
技術的にはあなたの質問に答えていないので、ここで質問をして答えました。
いいえ、iPadのホストファイルを(ジェイルブレイクなしで)変更することはできませんが、回避策はあります。
私のシナリオは次のとおりです。
192.168.2.1
を備えたWeb OSを実行するMac OS XIPad経由でMacで実行しているWebアプリをテストしますが、直接アクセスすることはできません。
ソリューションは私のために働く:
Port
(mostly 8888
)を入力し、Enable transparent HTTP proxying
を切り替えます。IPadでWebアプリにアクセスできるようになりました。
もちろん、Linuxでは Squid または Varnish 、Wondowsでは fiddler などの他のプロキシツールを使用できます。
これを行う最も簡単な方法は、XCodeを使用してiPadシミュレーターを実行し、ホストシステムのホストファイル(/ etc/hosts)にエントリを追加して、テストサイトを指すようにすることです。
チャールズのようなものを使用して透過的なプロキシを設定し、トラフィックをそのようにリダイレクトすることでそれを行うことができると思います
同じ機能が必要でしたが、ジェイルブレイクをするのは無理です。 1つの解決策は、自分でDNSサーバーをホストし( MaraDNS )、ipad/phoneのwifi設定に移動し、そこにカスタム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)動作します!
はい、iPadのhostsファイルを編集できますが、ジェイルブレイクする必要があります。完了したら、Cydia(アプリマーケット)をダウンロードし、iFileを入手します。 hostsファイルは「/ etc/hosts」内にあります。
これが投稿されてしばらく経ちましたが、iOS 7.1ではいくつかの点が変更されました。
これまでのところ、アプリを開発している場合、Appleが認識した有効なSSL証明書が必要です。そうでない場合、iDeviceでエラーメッセージが表示されます。これ以上の自己署名証明書はありません。ここにリストを参照してください。
http://support.Apple.com/kb/ht5012
さらに、ここにいる場合、テストまたは開発環境で、iDeviceに(httpsサーバーへの)名前を解決させようとしていることを意味します。
すばらしいアプリケーションであるsquidを使用する代わりに、dnsmasqのような非常に基本的なDNSサーバーを実行するだけで済みます。ホストファイルを名前解決の最初の行として使用するため、基本的にiDeviceをだまして、www.blah.comは192.168.10.10であると言うことができます。
構成ファイルは3〜4行のシンプルなもので、必要に応じて内部DHCPサーバーを構成することもできます。
これが私のものです:
listen-address = 192.168.10.35
ドメインが必要
偽のプライベート
no-dhcp-interface = eth0
local =/localnet /
もちろん、適切に構成された後、そのDNS(私の場合は192.168.10.35)を使用するようにiDeviceでネットワークを構成するか、とにかくそのサーバーからDHCPを使用し始める必要があります。
さらに、dnsmasqが内部的に名前を解決できない場合、通常のDNSサーバー(8.8.8.8など)を使用して名前を解決します。非常にシンプルでエレガントで、社内でのiDeviceアプリのインストールに関する問題を解決しました。
ところで、通常のMac(OS X)での多くの名前解決の問題も解決します。
今、私の暴言:血まみれのアップル。デバイスを安全にするために、オペレーティングシステムまたは開発者の去勢を含めないでください。
IPhoneモバイルプロキシジェネレーターを使用して、モバイルインターネット(3G)経由でiPhoneまたはiPadeのプロキシサーバーを利用することもできます。
http://iphonesettings.net/mobileproxygenerator.php
キャリアのapn(必要に応じてapnユーザー名/パスワードを使用)と通過するプロキシサーバーを入力し、[生成]をタップします。
開発目的で使用するWorkarond:
ホスト名を自由に選択できる場合は、dyndns.orgなどの動的DNSサービスにホストを追加するだけです。その後、iPadの通常の解決メカニズムを使用してアドレスを解決できます。