# Encontre servidores DNS com o comando DIG

import DocButton from '~/components/webkit/DocButton.vue';

**Dig** ou **comando dig** é uma ferramenta de linha de comando para consulta de informações sobre domínios em servidores Domain Name System (DNS). Originalmente chamado de Domain Information Groper, o comando faz parte do BIND, um grupo de ferramentas de rede mantido pelo Internet Systems Consortium (ISC).

O comando `dig` é comumente utilizado para solução de problemas de rede, domínios e outras operações envolvendo DNS. É, também, uma alternativa multiplataforma e mais poderosa ao descontinuado `nslookup`.

Se você tiver uma zona configurada no **Azion Edge DNS**, você pode testá-la para conferir se sua zona está funcionando corretamente.

<DocButton href="https://console.azion.com/signup" label="crie uma conta na Azion" kind="secondary" size="medium" /> <br></br>

<DocButton href="/pt-br/documentacao/produtos/guias/secure/edge-dns-definir-main-settings/" label="crie uma zona" kind="secondary" size="medium" />

Neste guia, iremos consultar registros de um domínio específico e de diversos domínios na mesma requisição; selecionar qual servidor DNS utilizar para a consulta; descobrir a latência (em milissegundos); quais são os IPs associados aos domínios consultados; além de rastrear todo o processo de resolução dos nameservers, da raiz até o último nameserver autoritário (que mantém os registros do domínio).


---

## Instale o comando dig

Por padrão, o comando dig vem instalado na maioria das versões do *macOS* e em algumas distribuições *Linux*, mas não vem instalado no *Windows* e na maioria das distribuições Linux.

### Windows

1. Faça o download da versão *Current-Stable, ESV* do BIND pela [página de downloads do ISC](https://www.isc.org/download/).
2. Extraia todo o conteúdo do arquivo compactado `BIND9.18.14.tar.xz` em uma pasta dedicada.
3. Execute o arquivo `BINDInstall.exe` como administrador.
4. Utilize a opção *Tools Only* para instalar somente as ferramentas `dig`, `host`, `nslookup` e `nsupdate`.

> Ainda é possível utilizar o BIND no Windows. No entanto, o suporte da ferramenta ao sistema foi removido em uma [atualização de 2021](https://www.isc.org/blogs/bind-update-summer2021/).

### Linux

Para instalar o comando em distribuições baseadas em Debian, como Ubuntu, PopOS e Kali Linux:

1. Abra o terminal.
2. Rode `sudo apt-get install dnsutils`.
    > Para instalar em outras distribuições Linux, consulte a documentação do desenvolvedor.
3. Rode `dig -v` para checar a versão instalada.

---

## Utilize o comando dig

Para realizar uma consulta com o comando `dig`:

1. Abra o terminal (*Command Line Prompt*, *Power Shell* ou *Git Bash* para sistemas Windows).
2. Rode `dig azion.com` (troque `azion.com` pelo domínio que quiser consultar).

Também é possível realizar uma consulta de diversos domínios na mesma requisição. Para isso:

1. Crie um arquivo de texto para armazenar os domínios de interesse. Exemplo: `domains.txt`.
2. Dentro do arquivo, separe os domínios por linha. Exemplo:

```bash
azion.com
google.com
github.com
```

3. Abra o terminal.
4. Rode `dig domains.txt`.

A resposta para esses comandos é composta por quatro seções: **Cabeçalho**, **OPT PSEUDOSECTION**, **ANSWER SECTION** e **rodapé**. 

Há informações relevantes em todas as seções da resposta. No entanto, para este guia, vamos dar atenção as duas últimas seções: **ANSWER SECTION** e o **rodapé**.

A seção **ANSWER SECTION** é onde devem aparecer os registros DNS encontrados. Já no **rodapé**, é possível encontrar informações como o tempo da latência, em milissegundos, além de qual servidor DNS foi utilizado para resolver a requisição.

Por padrão, o comando `dig` utiliza uma lista de servidores DNS armazenada localmente na sua máquina. 

Se deseja utilizar uma lista de DNS específica, como as do Google (`8.8.8.8`, `8.8.4.4`, `2001:4860:4860::8888` e `2001:4860:4860::8844`), por exemplo, utilize o marcador `@` + IP da lista. Veja um exemplo do comando:

`dig @8.8.8.8 azion.com` ou `dig @8.8.8.8 domains.txt`

Já para rastrear todo o trajeto de servidores DNS, acrescente a opção `+trace` ao comando. Veja um exemplo:

`dig azion.com +trace`

A opção `+trace` é uma instrução para retornar o caminho completo que o servidor DNS percorreu para resolver a consulta.

Essa resposta é bem diferente da requisição simples e apresenta todos os servidores DNS envolvidos na resolução de um domínio, passando pelos servidores do *Top-Level Domain (TLD)* até chegar no último servidor autoritário

### Use o dig para testar zonas e applications na Azion

Se você [configurou uma zona](/pt-br/documentacao/produtos/guias/secure/edge-dns-definir-main-settings/), você pode usar o comando dig para testar como e se ela está recebendo o tráfego adequado. Por exemplo, se você configurou um balanceamento de carga com registro DNS, você pode testar e ver se o balanceamento de carga está funcionando corretamente.

<DocButton href="/pt-br/documentacao/produtos/guias/secure/balanceamento-de-carga-dns/" label="teste o registro balanceado" kind="secondary" size="medium" />

Você também pode checar a latência de uma aplicação web com o comando dig para validar o serviço de Edge Computing da Azion. É possível, por exemplo, comparar a latência da sua aplicação, servida por um serviço de Cloud Computing e pela Edge da Azion.

<Video src="https://www.youtube.com/embed/LsXHGoP1sz0" title="Encontre servidores DNS com o comando DIG" description="Veja aqui como encontrar servidores DNS utilizando comando DIG em diferentes plataformas Windows, Linux ou MAC OS X. Conheça o suporte Azion!" uploadDate="2023-07-03" /> 




---