Jak wyświetlić bieżące serwery DNS z wiersza polecenia w systemie OS X?

50

Chcę wyświetlić serwery DNS, które są używane przez bieżącą konfigurację sieci w systemie OS X, z wiersza polecenia.

sorin
źródło

Odpowiedzi:

72

Istnieje kilka sposobów - oto dwa:

cat /etc/resolv.conf

-lub-

scutil --dns
Szkot
źródło
1
Jest to bardzo denerwujące, że networksetup -getdnsserversnie działa na serwerach DNS przypisanych do DHCP. Zawsze o tym zapominam scutil. „Sc” oznacza konfigurację systemu? Na pewno nie konfiguruje dużej części systemu ...
Geoff Nixon,
1
Jest to także dobry, aby pamiętać, że digani nslookupnie muszą dać realistyczny obraz tego, jak nazwy domen aplikacji MacOS postanowienie z systemu lokalnego, zwłaszcza gdy zostały skonfigurowane wielokrotne (specyficzne dla domeny) DNSes, takie jak przy użyciu klienta VPN dla wielokrotności jednoczesne połączenia. Zamiast nslookuplub digużyj dscacheutil -q host -a name somehostname.comdo przetestowania rozdzielczości DNS. Bierze pod uwagę wszystkie skonfigurowane serwery DNS, a także ich kolejność priorytetów.
Ville,
3
cat /etc/resolv.confnie wydaje się już „niezawodnym” rozwiązaniem. To jest powiadomienie, które otrzymuję w macOS High Sierra podczas jego używania: (przepraszam za formatowanie - komentarze nie obsługują prostych podziałów linii) # powiadomienie macOS # # Ten plik nie jest sprawdzany w celu rozpoznania nazwy hosta DNS, adresu # rozdzielczości lub Mechanizm routingu zapytań DNS używany przez większość # procesów w tym systemie. # # Aby wyświetlić konfigurację DNS używaną przez ten system, użyj: # scutil --dns
PatrikN
Lubię scutil --dns | grep nameserverpo prostu dostać serwery DNS.
SamAndrew81
2

Następujące polecenie powłoki może być przydatne do wyświetlenia bieżących wpisów DNS:

grep nameserver <(scutil --dns)

Aby odfiltrować go dla skryptu, możesz przesłać dane wyjściowe do awk '{print $3}'lub grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+"polecenia.

kenorb
źródło
2
To jest to samo co scutil --dns | grep nameserverpoprawna (tylko inna składnia)?
SamAndrew81