Ответы:
Есть несколько способов - вот два:
cat /etc/resolv.conf
-или-
scutil --dns
digили nslookupне обязательно давать реалистичную картину того, как приложения macOS разрешают доменные имена из локальной системы, особенно когда было настроено несколько (специфичных для домена) DNS, например, при использовании VPN-клиента для нескольких одновременные соединения. Вместо nslookupили digиспользуйте dscacheutil -q host -a name somehostname.comдля проверки разрешения DNS. Он учитывает все настроенные DNS-серверы, а также их приоритетный порядок.
cat /etc/resolv.confбольше не похоже на «надежное» решение. Это уведомление, которое я получаю в macOS High Sierra при его использовании: (извините за форматирование - комментарии не поддерживают простые разрывы строк) # Уведомление macOS # # Этот файл не используется для разрешения имени хоста DNS, разрешения адреса # или Механизм маршрутизации DNS-запросов, используемый большинством процессов в этой системе. # # Для просмотра конфигурации DNS, используемой этой системой, используйте: # scutil --dns
scutil --dns | grep nameserverчтобы просто получить DNS - серверы.
Следующая команда оболочки может быть полезна для отображения текущих записей DNS:
grep nameserver <(scutil --dns)
Чтобы отфильтровать его для сценария, вы можете направить вывод в команду awk '{print $3}'или grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+".
scutil --dns | grep nameserverправильно (просто другой синтаксис)?
networksetup -getdnsserversне работает для DNS-серверов, назначенных DHCP. Я всегда забываю оscutil. «Sc» означает «Конфигурация системы»? Это точно не настраивает большую часть системы ...