実行中のアプリが現在それらを表示しているので(インターネットネーム(IP))解決


0

時々、私はSafariで開いているウェブサイトの実際のIPv4アドレスを見る必要があります。

今、2つの端末コマンドがあります、 host そして dig私はそれを使うことができました。

しかし、これらのコマンドは、SafariなどのMacアプリが使用する実際のIPアドレスを常に私に伝えているわけではありません。異なるIPアドレスが表示される場合の例

  • 私はMacのアドレスを追加しました /etc/hosts ファイル。
  • IPアドレスは最近変更され、Macアプリはまだ以前にキャッシュしたものを使用する

それで、外部ネームサーバが報告するアドレスの代わりに、現在OS Xに知られているIPアドレスを知らせるツールはありますか?


あなたの質問を理解していないかもしれませんが、App(Safariなど)が外部DNSのIPアドレスと異なるIPアドレスをどのように認識するのでしょうか。 IPアドレスが異なると結論付けるために何を導いたのですか。
Allan

それだけです。 hostsファイルに "11.22.33.44 www.apple.com"を追加し、再起動(またはdns resolverを終了)してからcmd "host www.apple.com"を発行してください - Appleの実際のアドレスが表示されますが、開いてくださいSafariでは失敗します。これは、これらのコマンドのヘルプにも記載されています。
Thomas Tempelmann

1
のmanページの最後に host - hostコマンドは、Mac OS Xで実行されている他のプロセスで使用されているホスト名とアドレスの解決方法やDNSクエリールーティングメカニズムを使用しません。 OS Xのネイティブの名前とアドレスの解決メカニズム。 DNSクエリの結果は、Mac OS X DNSルーティングライブラリを使用するクエリとは異なる場合があります。
Allan

私はあなたがDNSクエリツールとホスト解決を混同していると思います。 Safariはまず始めます /etc/hosts ユーティリティは好きですが、その後、DNSに行きます dig そして host DNSサーバーに直接問い合わせます。
Allan

dfsmasqを(a)転送サーバを使ってインストールして設定し、システム設定でDNSサーバとして127.0.0.1を使うこれは、Google Chromeのように、独自のDNS解決を使用する可能性があるアプリケーションでは機能しません。 Bonjour / DNS-SDを含めたいのなら、bind(9)を使うほうがおそらく簡単です。どちらの場合もdig / hostが動作します(より良い)。
klanomath

回答:


1

私はDNSキャッシングについて間違った仮定をしたようです。しかし、私は正しかった / etc / hosts その中のファイル host Mac上で実行されているアプリケーションはデフォルトでは無視しませんが、commandは無視します。

そこで、私はMac OSの機能の1つを使ってホスト名をIPアドレスに解決する非常に簡単なプログラムを作りました。このようにして、 ホスト 彼らは他のMacアプリによって見られるように、ファイルは、このプログラムによって見られるでしょう。

Xcodeプロジェクトを含むプログラムは、 こちらからダウンロード

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