iPhoneにhostsファイルは存在しますか?それを変更するには?[閉まっている]


104

サーバーにクエリを送信するアプリケーションを開発しています。私のMacでは、hostsファイルを使用して、ローカルエリアネットワーク内のローカルサーバーを指すようにDNSを変更します。

ここで、iPhoneでテストする必要があります。問題は、dnsの構成がないために、iPhoneがそのサーバーを認識しないことです。

私のMacまたはWindowsでは、単に192.168.0.20 http://www.google.comhostsファイルに追加します。

iPhoneにURLを通知するにはどうすればよいhttp://www.google.comですか。


iPhoneを脱獄し、iFileをダウンロードし、テキストビューアで/etc/呼び出さhostsれたファイルに移動して開きます。これで編集できます。

OSXとiPhoneとチャールズのWebプロキシ上のローカル開発deployfx.com/2011/08/...
jfroom

1
OSX iOS Simulatorと/ etc / hostsファイルを更新します。
dmarvasti 2013

また:ボンジュール(須藤のavahi-デーモンのavahi-utilsのインストールapt-getの)とを経由してアクセスインストールhostname.local iphone / iPad上で
ササトミスラフMataić

私のように機能する次のような回答が表示されないことに驚きました:stackoverflow.com/a/41857012/470749
Ryan

回答:


37

これはあなたの質問に直接答えることはできませんが、あなたの問題を解決します...

ルーターの種類は何ですか?ルーターのファームウェアにより、ローカルネットワークのDNSレコードを設定できる場合があります。これは私がトマトのファームウェアでやっていることです


おかげで、これは問題を解決するために私がやったことです;)
Hoang Pham

私はpfsenseを使用している以外は、このアプローチも使用しました。
コードワイズ

それはどのように機能しますか、私も同じ問題を抱えています、私はcisco
wrt

82

ここでのもう1つのオプションは、iPhoneをプロキシ経由で接続させることです。Fiddlerでこれを行う方法の例を次に示します(非常に簡単です)。

http://conceptdev.blogspot.com/2009/01/monitoring-iphone-web-traffic-with.html

その場合、iPhoneが行うDNSルックアップでは、Fiddlerが実行されているマシンのhostsファイルが使用されます。ただし、DNS経由で解決される名前を使用する必要があることに注意してくださいexample.localたとえば、は機能しません。example.xyzまたはexample.dev意志。


3
これが最も簡単な解決策です。これは考えるべきだった!
jimplode

1
驚くばかり。これは私にとっておやつになりました!
スニファー

1
同じことがosx でもうまく機能し
antonj

2
OSXとiPhoneとチャールズのWebプロキシ上のローカル開発deployfx.com/2011/08/...
jfroom

1
これは、DNSルックアップだけでなく、モバイルアプリ開発の武器としても
役立つ

32

プログラミング関連ではありませんが、とにかく答えます。にあり/etc/hostsます。

のような単純なテキストエディタで変更できますnano

(明らかに、これにはジェイルブレイクされたiphoneが必要です)


3
バニラのiphoneでnanoを使用して/ etc / hostsに直接アクセスすることはできません。配布されるアプリについてだと思います。その場合、サンドボックス外のファイルをいじることはできません。
Jaanus

@Jaanus:もちろん、ジェイルブレイクしたiphoneを意味しました。そして彼は、アプリが再配布されることについて何も言わなかった。彼は単にDNSの問題があった彼のiPhoneでそれをテストする必要があると述べました。
Thomas Bonini、2010年

16
私は反対票を理解していません。答えは技術的に正しく、よく書かれています。
Thomas Bonini、2010年

2
編集のためにいくつかのカルマを復元します。暗黙の「分散アプリ」のために反対投票が使用された場合、私はそれらを理解できますが、反対投票者はそれを説明するコメントを残すべきだったと思います。
デビッドはモニカを

2
私は、彼が自分のアプリをテストできるように、hostsファイルを変更する必要があるだけだと思います。テストしたら、hostsファイルを変更する必要はありません。ここで脱獄をお勧めするのに最適です!
Mongus Pong、2010

14

iPhoneの「hosts」ファイルを正常に編集しました(Jailbroken iOS 4.0)。

  • インストールされているOpenSSHCydia経由でiPhoneにを
  • FileZillaのようなSFTPクライアントを使用するコンピューターでて、iPhoneに接続しました
    • アドレス:[電話のIPアドレスまたはホスト名を使用します。simophone.local]
    • ユーザー名: root
    • パスワード: alpine
  • ある /etc/hostsファイルを
  • メイドバックアップを自分のコンピュータ上で(場合には私は後で私の変更を元に戻すにしたいです)
  • まともなテキストエディタ(Notepad ++など)でhostsファイル編集しました。こちらをご覧くださいhostsファイルの説明については、を。
  • 変更をアップロードし、iPhoneのホストファイルを上書き

電話機は一部のWebページとDNSクエリをキャッシュするため、再起動またはキャッシュのクリアが役立つ場合があります。それが誰かを助けることを願っています。

サイモン。


1
@サイモン私は同じ手順を踏みましたが、うまくいきませんでした。次に、エンコード設定を変更してみました。保存する前に、ホストファイルをNotepad ++でANSIに変換する必要があります。ホストファイルを機能させるのに失敗した人; 「エンコーディング」メニューの「ANSIに変換」をクリックします。
trkaplan

2
CydiaのiFileアプリを使用して、コンピューターを使用せずにデバイス上のhostsファイルを編集することもできます。Ad @ m
Kirb

2
..そして、デフォルトのパスワードを高山から別のものに変更します!
Tieme

7

存在する可能性がありますが、脱獄されていないiPhoneでは変更できません。

開発WebサーバーがMac上にあると仮定して、MyMac.local.代わりにそのBonjour名(例:)を使用しないのはなぜmyrealwebserverontheinternet.comですか?


すべてのWebサービスは、LANネットワーク内のサーバーに存在します。ドメイン名を持っています。自分のドメイン名もこのサーバーにマッピングしたいと思います。そして、誰かがあなたに彼のWebサービスのすべてのアドレスを与え、彼はこのアドレスを使用して、これらのサービスを照会するかを尋ね、彼はMacにhostsファイルを追加する方法をお見せできることをIMMAGINE、窓はなく、iphone:-s
ホアンファム

6

他の誰かがこのページに陥った場合、ドメインの代わりにURLリクエストでIPアドレスを使用してこれを解決することもできます。

NSURL *myURL = [NSURL URLWithString:@"http://10.0.0.2/mypage.php"];

次に、ホストを手動で指定します。

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:myURL];
[request setAllHTTPHeaderFields:[NSDictionary dictionaryWithObjectAndKeys:@"myserver",@"Host"]];

サーバーに関する限り、サーバーを使用した場合とまったく同じように動作します。 http://myserver/mypage.php iPhoneがDNSルックアップを行う必要がないことを除いてます。

100%パブリックAPI。


2
ただし、これは最初のリクエストでのみ機能し、mypage.phpがmyserverに対して他のリクエストを行う場合、アプリは変換を行いません。
htafoya 2014

このアプローチは、Cookieを使用しない場合に適しています。
DUzun 2014年

いや。これも機能しませんでした。SSLピニングを使用しているため、ドメインの不一致により混乱しました: '017-07-13 10:21:42.244723-0400 ApperName [1015:449748] libMobileGestalt MobileGestaltSupport.m:153:pid 1015(ApperName)は、 frZQaeyWLUvLjeuEK43hmgであり、2017-07-13 10:21:42.244886-0400 UnionBank [1015:449748] libMobileGestalt MobileGestalt.c:550:InverseDeviceIDへのアクセスがありません(<rdar:// problem / 11744455>を参照) '
コードラッパー

5

電話でDNSを変更しないでください。代わりに、ローカルネットワークにwifiで接続すれば、準備は完了です。

私のオフィスには、インターネットに公開されていない内部DNSを備えた内部サーバーがあります。iPhoneでオフィスのwifiに接続するだけで、問題なくアクセスできます。

YMMVですが、電話のDNSを構成する代わりに、ローカルの内部DNSとwifiをセットアップするだけの方が、クリーンで簡単なソリューションだと感じています。


1

いいえ、iPhoneアプリケーションは、独自の小さなサンドボックス内でのみ変更できます。(そして、その場で変更できないものもあります。)

最善の策は、ホスト名ではなくサーバーのIPアドレスを使用することです。少し難しくはなく、というあなただけの単一のアドレスを解決する必要が難しい場合は、お使いのMac上のDNSサーバーを配置し、それを使用するためにあなたのiPhoneを設定することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.