OS Xのコマンドラインから現在のDNSサーバーを表示するにはどうすればよいですか?


50

OS Xの現在のネットワークセットアップで使用されているDNSサーバーをコマンドラインから表示したい。

回答:


72

いくつかの方法があります-ここに2つあります:

cat /etc/resolv.conf

-または-

scutil --dns

1
networksetup -getdnsserversDHCPで割り当てられたDNSサーバーでは機能しません。私はいつも忘れていscutilます。「sc」はシステム構成の略ですか?それは確かのconfigureくらいのシステム...のない
ジェフ・ニクソン

1
これは、ことにも注意してくださいに良いことだdigか、nslookup複数の(ドメイン固有)DNSesは、このような複数のためのVPNクライアントを使用するときのように、設定されている場合は特に、必ずしもどのようにMacOSのアプリケーションローカルシステムから解決ドメイン名の現実的な絵を与えることはありません同時接続。nslookupまたはの代わりにdigdscacheutil -q host -a name somehostname.comDNS解決のテストに使用します。構成されたすべてのDNSサーバーとその優先順位が考慮されます。
ヴィル

3
cat /etc/resolv.confもはや「信頼できる」ソリューションのようには見えません。これは、使用時にmacOS High Sierraで得られる通知です:(フォーマットの申し訳ありません-コメントは単純な改行をサポートしていません)#macOS Notice##このファイルは、DNSホスト名解決、アドレス#解決、または#このシステムのほとんどのプロセスで使用されるDNSクエリルーティングメカニズム。##このシステムで使用されるDNS構成を表示するには、次を使用します。#scutil --dns
PatrikN

私は好きscutil --dns | grep nameserverするだけで DNSサーバを取得します。
SamAndrew81

2

次のシェルコマンドは、現在のDNSエントリを一覧表示するのに役立ちます。

grep nameserver <(scutil --dns)

スクリプト用にフィルターで除外するには、出力をawk '{print $3}'orにパイプすることができますgrep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+"


2
これはscutil --dns | grep nameserver正しいのと同じです(構文が異なります)?
SamAndrew81
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.