Как проверить, какой DNS-сервер я использую (в Mac OS X)


72

В Mac OS X, как я могу проверить, какой DNS-сервер я сейчас использую (желательно решение из командной строки)?

System Preferences > Networkпоказывает 192.168.1.1, что это адрес моего маршрутизатора, а не реальный DNS-сервер.


Когда вы используете команду dig или nslookup, она показывает IP-адрес DNS-сервера по умолчанию.
Biswapriyo

Для справки - у вашего роутера есть настоящий DNS-сервер. Более подробно, это рекурсивный DNS-сервер, такой же, как DNS вашего интернет-провайдера или Google 8.8.8.8.
Новакер

Ответы:


112

Вы можете попробовать ввести scutil --dns | grep 'nameserver\[[0-9]*\]'в командной строке. Должен дать вам список DNS-серверов, настроенных в вашей системе.


это отличная команда - похоже, это DNS-сервер, используемый Comcast (мой провайдер). +1 за отличный бонусный балл и ответ на более глубокие знания.
Мб

2
+1 Для команды, которая показывает серверы для «мультиклиентских» конфигураций (например /etc/resolver/…).
Крис Джонсен

2
Я добавил | sort | uniqк нему, поскольку меня интересовали только уникальные DNS-серверы.
Йерун Виерт Плюмерс

1
Nitpick, но зачем добавлять \[[0-9]*\]в grepстроку?
Иосиф

1
На моем компьютере scutil --dns | grep nameserverдостаточно, или scutil --dns | grep nameserver | sort -uесли я просто хочу увидеть уникальные серверы.
AllanLRH

16

Ваш маршрутизатор действует как сервер пересылки DNS, вы спрашиваете свой маршрутизатор, а ваш маршрутизатор запрашивает DNS-сервер для вас. Вам необходимо войти в веб-конфигурацию маршрутизатора, чтобы выяснить, что он использует, или вы можете просто ввести его непосредственно в конфигурацию сети.


Это просто неправильно. DHCP-сервер назначает DNS-сервер (что, я думаю, вас смущает), но маршрутизатор не обрабатывает DNS самостоятельно. Его работа заключается в маршрутизации трафика.
Senfo

10

Используйте следующую команду для просмотра вашего DNS-сервера в Mac OS X:

Откройте терминал и введите

$ cat /etc/resolv.conf

для просмотра вашего DNS-сервера.

Образец вывода:

$ cat /etc/resolv.conf 
domain http://www.example.com (Here, you can see DNS records info of the particular domain name.)
nameserver 68.87.85.98
nameserver 68.87.69.146

1
Это покажет то же самое, что System Preferences > Networkи.
Кевин Панко

Не слишком полезно в наше время. Этот файл предназначен только для того, чтобы старым приложениям было что почитать. Большая часть MacOS использует внутреннюю базу данных. Смотрите ответ выше, используя команду "scutil".
Крис Когдон

10

Akamai предоставляет инструмент отладки DNS, который возвращает IP-адрес распознавателя, используемого для запроса. Откройте Terminal.app и выполните следующую команду:

dig whoami.akamai.net +short

UltraDNS также предоставляет один, но я нашел его менее надежным:

dig whoami.ultradns.net +short

IP-адрес, возвращаемый этими инструментами, является распознавателем DNS, используемым в вашей сети, но может быть только одним из нескольких. Там может быть преимущество использования IP в настройках сети напрямую.

Вы можете оценить производительность своих локальных и альтернативных DNS-серверов, используя namebench .


Отлично. Это экономит время доступа к экрану администратора маршрутизатора.
даунэйт

Этот сервис отличный.
педросанта

5

Я дошел до этого вопроса, когда искал способ получить список DNS-серверов определенного сетевого адаптера в текстовом формате (например, адаптер Wi-Fi):

введите описание изображения здесь

Этот список DNS-серверов можно получить в терминале с помощью этой команды:

$ networksetup -getdnsservers Wi-Fi
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1

И для адаптера Ethernet:

$ networksetup -getdnsservers Ethernet
8.8.8.8
4.2.2.4
4.2.2.1
4.2.2.2
192.168.1.1

3

Это DNS-сервер, который использует ваш Mac. На вашем маршрутизаторе работает кеширующий DNS-сервер, и он настраивается в качестве DNS-сервера через DHCP. Если вы войдете в свой маршрутизатор, вы сможете узнать, какие DNS-серверы он использует.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.