De configurações simples a complexas, há momentos em que você precisa ver como o seu DNS está se comportando. Felizmente, os computadores têm um utilitário integrado que pode ajudar você. Este artigo apresenta comandos úteis do Prompt de comando e do PowerShell do Windows. Ele também trata das diferenças dos dois shells. Tudo pronto? Claro, não é por isso que você está aqui? Já entendi. Provavelmente você pulou esta parte e foi diretamente para os comandos. Tudo bem. Faça isso.
Observação: todos os exemplos são de um sistema Windows 10.
O Windows introduziu o Prompt de comando original (CMD) para sistemas operacionais Microsoft em 1981. Esse programa trabalha “por trás” do Windows e proporciona mais controle sobre o sistema. É executado em uma tela preta simples que exibe um prompt. Dependendo da sua máquina, o prompt pode ter esta aparência: C:\> ou C:\Users\example. Com essa ferramenta, você pode executar comandos de linha única.
O PowerShell foi lançado no Windows em 2006. Esse shell é executado em uma janela azul e usa cmdlets em vez de comandos do CMD ou MS-DOS. Ele apresenta um sistema de scripts e recursos administrativos integrados e pode executar comandos em lote. Isso significa que você pode completar uma série de cmdlets, ao invés de um único comando de cada vez. Ao contrário do Prompt de comando, o PowerShell não está limitado a programas de console. A versão atual é executada no .Net 5.0, que é compatível com Linux e macOS. O PowerShell também pode acessar várias bibliotecas em vários sistemas.
Existem várias maneiras de iniciar o Prompt de comando do Windows. Uma delas é clicar no ícone de pesquisa na barra de tarefas e digitar “command prompt” (”prompt de comando”) ou “cmd”. Isso exibe o aplicativo no alto da janela de pesquisa, sob “Best match” (”Melhor correspondência”).
Se você gosta de usar atalhos de teclado, como eu, pode pressionar Win + R para abrir o comando Run (Executar). Digite cmd e clique em OK. E pronto!
Acesse o PowerShell exatamente como faz com o Prompt de comando do Windows. Em vez de digitar cmd, digite PowerShell na janela Search (Pesquisar) ou Run Command (Executar comando). A diferença está no uso da opção de pesquisa. Se usar a pesquisa, você verá a opção do Windows PowerShell e do PowerShell ISE. Neste artigo, usarei o PowerShell básico do Windows.
Também é possível pressionar Win + X, o que abre um novo menu. Assim, você pode acessar o PowerShell como Admin (Administrador). Este menu também inclui Run (Executar) e vários outros utilitários do Windows.
Você sabia?: O PowerShell ISE é um aplicativo host para o PowerShell. ISE significa Integrated Scripting Environment (Ambiente de script integrado). Esta opção oferece uma interface, enquanto o PowerShell padrão parece mais o Prompt de comando.
Agora é hora de falar do que importa! Aqui estão vários comandos do CMD do Windows que podem ajudar a resolver problemas ou verificar o seu DNS. Não se preocupe. Tenho uma imaginação fértil. Vou fingir que você leu tudo acima antes de chegar aqui.
O comando nslookup é útil para diagnosticar problemas na resolução de nomes DNS. Este comando é comparável à função dig do Mac ou Linux. Ele pode encontrar o endereço IP de um host ou realizar uma busca de DNS reverso (para encontrar o nome de domínio de um IP). O nslookup também pode fornecer informações de registros DNS para o seu domínio.
Um comando nslookup pode ter esta aparência: C:\Users\username>nslookup dnsmadeeasy.com
Neste exemplo, fiz uma solicitação simples do endereço IP para DNS Made Easy. Como resposta, recebi o endereço IPv6 e IPv4 do domínio. O motivo de exibir “non-authoritative answer” (”resposta sem autoridade”) é que usei um servidor recursivo para a consulta.
Se você tem um endereço IP e precisa do nome do domínio, pode fazer uma busca de DNS reverso. É o mesmo que no exemplo acima, mas — você adivinhou — de forma reversa:
C:\Users\username>nslookup 162.243.68.201
Imagine que você quer encontrar o servidor de nomes de um domínio ou definir um parâmetro específico em sua linha de comando. Para isso, você usa o comando set do Windows. Veja um exemplo:
C:\Users\username>nslookup
>set q=ns
>dnsmadeeasy.com
(pressione enter após cada comando)
O resultado deve parecer com:
Você também pode usar nslookup e o comando set para verificar ou resolver problemas de DNS para o seu domínio. Esse processo é o mesmo do exemplo acima, mas, desta vez, você especifica o registro a consultar. Você pode tratar rapidamente os erros ou problemas que descobrir com essas informações. Na captura de tela abaixo, realizei uma busca de registros MX, PTR e SOA, mas é claro que você não precisa se limitar a eles.
C:\Users\username>nslookup
>set q=mx
>dnsmadeeasy.com
(pressione enter após cada comando)
Dica: Se estiver verificando vários tipos de registro, não precisa digitar “nslookup” para cada um. Após o comando nslookup inicial, você pode executar comandos set para cada registro. Isso vale mesmo se você começar a verificar registros para outro domínio.
Dica: Pode ser útil limpar o cache DNS antes de executar comandos. Para fazer isso, digite: ipconfig/flushdns e depois pressione enter. O cache agora está limpo.
Para ver detalhes adicionais do DNS de seu domínio, você pode usar o comando debug. Ele mostra as informações de cabeçalho das solicitações de servidor DNS (veja a captura de tela abaixo).
C:\Users\username>nslookup
>set debug
>example.com
Para diagnóstico de rede, você pode executar um comando ping no CMD. Um ping mede a latência de uma conexão com um destino. Para fins de demonstração, vou executar um teste de ping usando 8.8.8.8, o endereço DNS público do Google.
C:\Users\username>ping 8.8.8.8
Agora, você vê o tempo total para obter uma resposta do servidor que recebe o ping.
Outro comando útil para o diagnóstico de rede é traceroute. Um traceroute traça o caminho de um pacote, desde o ponto inicial até o destino. Isso é especialmente útil para resolver problemas de conectividade. Na ilustração a seguir, executarei um traceroute para o nome de domínio www.example.com e seu endereço IP.
C:\Users\username>tracert 127.0.0.1
C:\Users\username>tracert www.example.com
O comando verifica a rota dos pacotes até chegarem ao destino. As diferentes paradas listadas também são chamadas de hops. Ao lado do número de hops, você pode ver o tempo de resolução da consulta. Essas informações podem ajudar você a melhorar a velocidade do DNS ou identificar roteadores problemáticos.
Dica: O Prompt de comando mantém um histórico dos comandos recentes. Se precisar ver os comandos inseridos anteriormente em uma sessão, basta pressionar a tecla para cima para passar por eles. Veja um exemplo no Gif abaixo de como isso funciona.
Se o PowerShell do Windows for o seu utilitário preferido, esta seção é para você. Estes são os equivalentes dos comandos Windows acima:
Nslookup no PowerShell = Resolve-DnsName
PS C:\Users\username>Resolve-DnsName dnsmadeeasy.com (ou C:\Users\username>Resolve-DnsName 162.243.68.201)
Dica: Para economizar tempo no PowerShell, digite as primeiras letras de um cmdlet e pressione a tecla tab para preencher o resto automaticamente. Por exemplo, se você digitar “reso” e pressionar tab (reso + tab), o PowerShell preencherá o Resolve-DnsName. Isso funciona da mesma forma com outros cmdlets, como Test-Connection. Comece a digitar “test-con” e pressione tab para Test-Connection, etc.
O PowerShell usa o cmdlet Resolve-DnsName para a busca de registros. Para especificar o registro, adicione “-type” para completar o cmdlet.
PS C:\Users\username>Resolve-DnsName dnsmadeeasy.com - -Type MX (ou qualquer registro que quiser).
Observe que tanto para -Type como para -type, o cmdlet é executado da mesma forma, sem distinguir maiúsculas e minúsculas
Ping no PowerShell = Test-Connection
PS C:\Users\username>Test-Connection dnsmadeeasy.com
Os resultados parecem diferentes, mas você ainda vê a origem (nome do computador) e os hops, além do tempo para receber uma resposta.
Tracert no PowerShell = tracert – sim, neste caso o cmdlet compartilha o mesmo nome do comando do CMD.
PS C:\Users\username>tracert example.com
Recursos online são excelentes para resolver problemas de DNS. Essas ferramentas são especialmente úteis, pois podem ser acessadas de qualquer lugar, em qualquer dispositivo. Por exemplo, a Ferramenta de busca de DNS da Constellix (nossa empresa coligada) pode recuperar registros DNS e executar verificações com base na localização geográfica. Ela também consulta qualquer servidor de nome que você especificar. Os registros aceitos são A, AAAA, CNAME, MX, TXT, NS, SOA e SRV.
Existem alguns benefícios adicionais em usar a ferramenta de busca de DNS da Constellix. Você pode executar verificações em diferentes domínios e/ou servidores de nomes na mesma sessão. Os resultados podem ser filtrados por domínio, tipo de registro, resolvedor ou local, e você pode expandir ou minimizar cada verificação. Você também pode copiar a URL dos resultados e enviá-la para a sua equipe, o que é conveniente e economiza tempo.
Com as opções acima, você pode verificar o seu DNS e resolver problemas. Principais pontos: Prompt de comando, PowerShell e ferramentas de DNS online fornecem informações de servidor de nomes, instruções de registro e outras informações de DNS, mas funcionam de forma diferente. O CMD usa comandos de linha única, enquanto o PowerShell usa cmdlets e pode executar comandos em lote. Recursos como a ferramenta de busca de DNS online da Constellix executam verificações com base nos detalhes que você inserir.
É claro que este não é um guia completo do Prompt de comando ou do PowerShell. Eles podem fazer muito mais. Abaixo estão vários links que podem ajudar a aprofundar o seu entendimento desses utilitários.
Se gostou deste artigo, pode achar estes recursos úteis:
Lista de comandos do CMD do Windows