Respostas:
Existem várias maneiras - aqui estão duas:
cat /etc/resolv.conf
-ou-
scutil --dns
dig
ou nslookup
nã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 nslookup
ou dig
, use dscacheutil -q host -a name somehostname.com
para testar a resolução do DNS. Ele leva em consideração todos os servidores DNS configurados, bem como sua ordem de prioridade.
cat /etc/resolv.conf
nã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
scutil --dns | grep nameserver
de obter apenas os servidores DNS.
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.
scutil --dns | grep nameserver
correto (apenas sintaxe diferente)?
networksetup -getdnsservers
não funciona para servidores DNS atribuídos ao DHCP. Eu sempre esqueçoscutil
. O 'sc' significa Configuração do sistema? Com certeza não configura grande parte do sistema ...