システムが特定のドメインのIPアドレスをどのように派生するのかを理解する方法はありますか?パソコンからping
Analytics.google.comを返すと、127.0.0.1
この結果がどのように表示されるのかわかりません。私の/private/etc/hosts
ファイルはデフォルトの状態です。
システムがその住所にどのように到着したかを知る方法はありますか?たとえば、他のホストファイル、DNS、または他のものから来ていますか?
答え1
dtrace
実際ではありません。システムを介して実行されている作業を確認するまではそうではありません。dtrace
君なしではできない破棄ソースが何であるかを見てください。
DNSサーバーから来るのですか? (また、@
他のパブリックDNSサーバーを使用して、ゾーンを持つローカルキャッシュネームサーバーなどのローカルDNSトリックがあることを確認するか、analytics.google.com
一部のファイアウォールがパケットをローカルnsにリダイレクトしていることを確認してください...)
$ grep nameserver /etc/resolv.conf
nameserver 192.168.96.1
$ dig +short @192.168.96.1 analytics.google.com
...
$ dig +short @8.8.8.8 analytics.google.com
...
mDNSシステムのアイデアは何ですか(DNSをポーリングすることも、WireSharkを実行してポートまたはポートDNSパケットを見つけてtcpdump
何が表示されるのかを確認)53
5353
$ dns-sd -q analytics.google.com
...
^C
Appleがキャッシュしている内容が表示されます。これはApplelandで異なる場合はDNSとは異なる場合があります。
$ dscacheutil -q host -a name analytics.google.com
...
だとしたら、奇妙なもののキャッシュをクリアする問題です...
$ dscacheutil -flushcache
次に、上記の状況が存在するかどうかを確認するか、dns-sd
他dscacheutil -q host
の状況を報告してください。エントリがファイルにある場合、キャッシュを消去してdtraceスクリプトを実行すると、ファイルが開いていることがopensnoop
表示されます。関連レコードがあるかどうかを調べて、内容を調べます。