Como posso exibir os servidores DNS atuais na linha de comando no OS X?

50

Desejo exibir os servidores DNS usados ​​pela configuração de rede atual no OS X, na linha de comando.

sorin
fonte

Respostas:

72

Existem várias maneiras - aqui estão duas:

cat /etc/resolv.conf

-ou-

scutil --dns
Scot
fonte
1
É extremamente irritante que networksetup -getdnsserversnão funciona para servidores DNS atribuídos ao DHCP. Eu sempre esqueço scutil. O 'sc' significa Configuração do sistema? Com certeza não configura grande parte do sistema ...
Geoff Nixon
1
Também é bom observar que, digou nslookupnão necessariamente, fornece uma imagem realista de como os aplicativos macOS resolvem nomes de domínio do sistema local, especialmente quando vários DNSs (específicos do domínio) foram configurados, como ao usar um cliente VPN para vários conexões simultâneas. Em vez de nslookupou dig, use dscacheutil -q host -a name somehostname.compara testar a resolução do DNS. Ele leva em consideração todos os servidores DNS configurados, bem como sua ordem de prioridade.
Ville
3
cat /etc/resolv.confnão parece mais uma solução "confiável". Este é o aviso que recebo no macOS High Sierra ao usá-lo: (desculpe pela formatação - os comentários não suportam quebras de linha simples) # Aviso do macOS # # Este arquivo não é consultado para a resolução de nome de host DNS, endereço # Mecanismo de roteamento de consulta DNS usado pela maioria dos # processos neste sistema. # # Para visualizar a configuração de DNS usada por este sistema, use: # scutil --dns
PatrikN
Eu gostaria scutil --dns | grep nameserverde obter apenas os servidores DNS.
SamAndrew81 26/06
2

O seguinte comando shell pode ser útil para listar as entradas DNS atuais:

grep nameserver <(scutil --dns)

Para filtrá-lo para o script, você pode canalizar a saída awk '{print $3}'ou grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+"comando.

kenorb
fonte
2
É o mesmo que scutil --dns | grep nameservercorreto (apenas sintaxe diferente)?
SamAndrew81 26/06