Watch

Mac OS XのコマンドラインからDNSサーバーのIPアドレスを取得する

Mac OS XのコマンドラインからDNSサーバーのIPアドレスを取得する

OS Xのターミナルnetworksetupユーティリティを使えば、Mac上でアクティブなDNSサーバーのIPアドレスを素早く取得できます。これはコマンドラインから実行できるので、ターミナルアプリを起動し、Macで実行されているOS Xのバージョンに応じて、以下のいずれかのコマンドを入力してください。


OS X Yosemite、Mac OS X 10.7 Lion、OS X 10.8 Mountain Lion、10.9 Mavericks 以降を含む新しいバージョンの OS X でターミナルから DNS の詳細を取得するには、次の networksetup 構文を使用します。

networksetup -getdnsservers Wi-Fi

これは、最近はほとんどの人がWi-Fiを使用していることを前提としています。Wi-Fiをイーサネットまたはお好みのインターフェースに置き換えてください。

Mac OS X 10.6 Snow Leopard、10.5 以前など、以前のバージョンの OS X でコマンド ラインから DNS 情報を取得する場合は、代わりに次の構文を使用します。

networksetup -getdnsservers airport

これらの例の文字列では「Wi-Fi」または「airport」を指定していますが、これは主に無線接続を使用しているためです。ただし、ethernetやbluetoothを指定しても、これらのインターフェースのDNS詳細を取得できます。後者のインターフェースのテキストを、DNS IP情報を確認したいインターフェースに置き換えてください。通常、コンピューター上のすべてのインターフェースで同じです。

Mac OS X のネットワーク環境設定内に複数の DNS サーバーが設定されていると仮定すると、各 DNS サーバーのレポートが優先順位順に次のように表示されます。

8.8.8.8
208.67.220.220
208.67.222.222
10.0.0.1

ご存知ない方のために、サンプルリストの一番上のDNS IPはGoogleのパブリックDNS、次の2つはOpenDNS、最後の1つはローカルルーターです。必要であれば、namebenchなどの無料ユーティリティを使って高速なDNSサーバーを探すこともできます。

さらに、サーバー上で「nslookup」コマンドを使用して DNS 情報を取得することもできます。これにより、リモート サーバーの DNS の詳細と、他のサーバーを解決するための独自のプライマリ DNS が報告されます。

nslookup google.com

次のような結果が返されます。最初の「サーバー」と「アドレス」ビットには、ローカル マシンで使用される DNS IP が表示されます。

$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: google.com
Address: 74.125.239.135

最後に、別のオプションとして /etc/resolv.conf を確認する方法がありますが、このファイルは自動的に生成されるため、DNS が最近変更されてまだフラッシュされていない場合は必ずしも正確であるとは限りません。Apple が DNS の機能を何度か変更したため、OS X の新しいバージョンでは DNS のフラッシュが少し異なることに注意してください。