Como usar o comando dig no Linux

Vamos dissecar essa peça por peça.

; > DiG 9.11.3-1ubuntu1.11-Ubuntu> wdzwdz.com ;; opções globais: + cmd ;; Resposta obtida: ;; – >> CABEÇALHO

Agora, aqui está o que tudo isso significa:

Primeira linha: a versão de dig e o domínio consultado.
Opções globais: como veremos, você pode usar o dig para consultar vários domínios simultaneamente. Esta linha mostra as opções que foram aplicadas a todas as consultas de domínio. Em nosso exemplo simples, era apenas a opção padrão + cmd (comando).
Opcode: Consulta: É o tipo de operação que se solicitou que, neste caso, era uma consulta. Esse valor também pode ser iquery para uma consulta inversa ou status, se você estiver apenas testando o estado do sistema DNS.
Status: Noerror: Não houve erros e a solicitação foi resolvida corretamente.
ID: 12017: esse ID aleatório une a solicitação e a resposta.
Sinalizadores: qr rd ra: representam a consulta, a recursão desejada e a recursão disponível. A recursão é uma forma de pesquisa de DNS (a outra é iterativa). Você também pode ver AA, que significa Resposta Autoritativa, significando que um Servidor de Nomes Autoritativo forneceu a resposta.
Consulta: 1: O número de consultas nesta sessão, que foi um.
Resposta: 4: O número de respostas nesta resposta, que é quatro.
Autoridade: 0: O número de respostas que vieram de um Servidor de Nomes Autorizado, que foi zero neste caso. A resposta foi retornada do cache de um servidor precursor DNS. Não haverá seção oficial na resposta.
Adicional: 1: Há uma informação adicional. (Estranhamente, nada é listado a menos que este valor seja dois ou superior.)

Opt Pseudosection

A seguir, vemos o seguinte na Pseudossecção Opt:

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494

Vamos decompô-lo:

EDNS: versão 0: a versão de Sistema de extensão para DNS que está sendo usado. EDNS transmite dados estendidos e sinalizadores, estendendo o tamanho do Protocolo de datagrama do usuário Pacotes (UDP). Isso é indicado por um sinalizador de tamanho variável.
sinalizadores: nenhum sinalizador está em uso.
udp: 4096: o tamanho do pacote UDP.

Seção de perguntas

Na seção Pergunta, vemos o seguinte:

;; QUESTION SECTION:
;wdzwdz.com. IN A

Aqui está o que isso significa:

wdzwdz.com: O nome de domínio que estamos consultando.
IN: Estamos fazendo uma consulta de classe da Internet.
R: A menos que especifiquemos de outra forma, dig solicitará um registro A (endereço) do servidor DNS.

Seção de resposta

A seção Resposta contém as seguintes quatro respostas que recebemos do servidor DNS:

wdzwdz.com. 3551 IN A 151.101.194.217
wdzwdz.com. 3551 IN A 151.101.130.217
wdzwdz.com. 3551 IN A 151.101.66.217
wdzwdz.com. 3551 IN A 151.101.2.217

Aqui está o que essas respostas significam:

  Como instalar o SpeedCrunch no Linux

3551: Este é o Time to Live (TTL), um número inteiro assinado de 32 bits que contém o intervalo de tempo durante o qual um registro pode ser armazenado em cache. Quando expira, os dados devem ser usados ​​em uma resposta a uma solicitação até que sejam atualizados pelo servidor DNS.
IN: Fizemos uma consulta de classe da Internet.
R: Pedimos um registro A do servidor DNS.

Seção de Estatísticas

Estatísticas é a seção final e contém as seguintes informações:

;; Query time: 0 msec 
;; SERVER: 127.0.0.53#53(127.0.0.53) 
;; WHEN: Sun Mar 22 07:44:37 EDT 2020 
;; MSG SIZE rcvd: 106

Aqui está o que temos:

Tempo de consulta: 0 mseg: o tempo que levou para obter a resposta.
SERVIDOR: 127.0.0.53 # 53 (127.0.0.53): O endereço IP e o número da porta do servidor DNS que respondeu. Nesse caso, ele está apontando para o resolvedor de stub de armazenamento em cache local. Isso encaminha as solicitações de DNS para quaisquer servidores DNS upstream que estejam configurados. No computador de teste Manajro, o endereço listado aqui era 8.8.8.8 # 53, que é Serviço DNS público do Google.
QUANDO: Dom 22 de março 07:44:37 EDT 2020: Quando a solicitação foi feita.
MSG SIZE rcvd: 106: O tamanho da mensagem recebida do servidor DNS.

Ser Seletivo

Você não tem que se conformar com os dois extremos: boca fechada e tagarela. O comando dig permite que você inclua ou exclua seletivamente seções dos resultados.

As seguintes opções de consulta removerão essa seção dos resultados:

+ nocomments: Não mostra linhas de comentários.
+ noauthority: Não mostra a seção de autoridade.
+ noadditional: não mostra a seção adicional.
+ nostats: Não mostra a seção de estatísticas.
+ noanswer: Não mostra a seção de resposta.
+ noall: Não mostre nada!

A opção de consulta + noall geralmente é combinada com uma das anteriores para incluir uma seção nos resultados. Portanto, em vez de digitar uma longa sequência de opções de consulta para desligar várias seções, você pode usar + noall para desligá-las todas.

Você pode então usar as seguintes opções de consulta inclusivas para ativar aquelas que deseja ver novamente:

+ comentários: Mostrar linhas de comentários.
+ autoridade: Mostra a seção de autoridade.
+ adicional: Mostra a seção adicional.
+ estatísticas: mostra a seção de estatísticas.
+ resposta: Mostra a seção de resposta.
+ tudo: Mostrar tudo.

Nós digitamos o seguinte para fazer uma solicitação e excluir as linhas de comentário:

dig wdzwdz.com +nocomments

O

Se usarmos a opção de consulta + noall por conta própria, conforme mostrado abaixo, não obteremos nenhum resultado útil:

dig wdzwdz.com +noall

O

Podemos adicionar seletivamente as seções que queremos ver. Para adicionar a seção de resposta, digitamos o seguinte:

dig wdzwdz.com +noall +answer

O

Se digitarmos o seguinte para ativar + estatísticas, também veremos a seção de estatísticas:

dig wdzwdz.com +noall +answer +stats

O

A combinação + noall + resposta é usada com freqüência. Você pode adicionar outras seções à linha de comando, conforme necessário. Se quiser evitar digitar + noall + answer na linha de comando toda vez que usar dig, você pode colocá-los em um arquivo de configuração chamado “.digrc”. Ele está localizado em seu diretório inicial.

  Os 4 melhores clientes Github para Linux

Digitamos o seguinte para criar um com echo:

echo "+noall +answer" > $HOME/.digrc

Podemos então digitar o seguinte para verificar seu conteúdo:

cat .digrc

O Comandos $ HOME / .digrc “e” cat .digrc “em uma janela de terminal.” largura = “646” altura = “122”>

Essas duas opções agora serão aplicadas a todos os usos futuros de escavação, conforme mostrado abaixo:

dig ubuntu.org
dig linux.org
dig github.com

Este arquivo de configuração dig será usado para os exemplos restantes neste artigo.

Registros DNS

As informações retornadas às suas solicitações de digitação são obtidas de diferentes tipos de registros mantidos no servidor DNS. A menos que solicitemos algo diferente, dig consulta o registro A (endereço). A seguir estão os tipos de registros comumente usados ​​com dig:

Registro A: vincula o domínio a um endereço IP versão 4.
Registro MX: os registros de troca de mensagens direcionam os e-mails enviados aos domínios para o servidor de correio correto.
Registro NS: os registros do servidor de nomes delegam um domínio (ou subdomínio) a um conjunto de servidores DNS.
Registro TXT: os registros de texto armazenam informações baseadas em texto sobre o domínio. Normalmente, eles podem ser usados ​​para suprimir emails falsificados ou falsificados.
Registro SOA: Os registros de início de autoridade podem conter muitas informações sobre o domínio. Aqui, você pode encontrar o servidor de nome principal, a parte responsável, um carimbo de data / hora para alterações, a frequência de atualizações de zona e uma série de limites de tempo para novas tentativas e abandono.
TTL: o tempo de vida é uma configuração para cada registro DNS que especifica por quanto tempo um servidor precursor DNS tem permissão para armazenar em cache cada consulta DNS. Quando esse tempo expira, os dados devem ser atualizados para solicitações subsequentes.
QUALQUER: diz ao dig para retornar todos os tipos de registro DNS que puder.

Especificar o tipo de registro A não altera a ação padrão, que é consultar o registro de endereço e obter o endereço IP, conforme mostrado a seguir:

dig redhat.com A

O

Para consultar os registros de troca de correio, usamos o seguinte sinalizador MX:

dig yahoo.com MX

O

A sinalização do servidor de nomes retorna o seguinte nome dos servidores de nomes raiz associados ao domínio de nível superior:

dig fedora.com NS

O

Para consultar o início do registro de autoridade, digitamos o seguinte sinalizador SOA:

dig manjaro.com SOA

O

O sinalizador TTL nos mostrará o tempo de vida dos dados no cache do servidor DNS. Se fizermos uma série de solicitações, vemos o tempo de vida reduzido a nada e, em seguida, voltamos ao seu valor inicial.

  Como fazer backup das configurações da área de trabalho do Gnome Shell no Linux

Nós digitamos o seguinte:

dig usa.gov TTL

O

Para ver os registros de texto, digitamos o sinalizador TX:

dig usa.gov TXT

O

Especificando o servidor DNS

Se quiser usar um servidor DNS específico para sua solicitação, você pode usar o sinal de arroba (@) para passá-lo para dig como um parâmetro de linha de comando.

Com o servidor DNS padrão (veja abaixo), dig faz referência ao resolvedor de stub de cache local em 127.0.0.53.

dig usa.gov +stats

Agora, digitamos o seguinte para usar o servidor DNS público do Google em 8.8.8.8:

dig @8.8.8.8 usa.gov +stats

O

Usando dig com vários domínios

Podemos passar vários domínios para cavar na linha de comando, conforme mostrado abaixo:

dig ubuntu.org fedora.org manjaro.com

O

Se você verifica regularmente um conjunto de domínios, pode armazená-los em um arquivo de texto e passá-lo para o dig. Todos os domínios no arquivo serão verificados sucessivamente.

Nosso arquivo é chamado de “domains.txt”. Usaremos cat para mostrar seu conteúdo e, em seguida, passaremos para dig com a opção -f (arquivo). Nós digitamos o seguinte:

cat domains.txt
dig -f domains.txt

O

Pesquisas reversas de DNS

Se você tiver um endereço IP e quiser saber para onde ele vai, tente uma pesquisa DNS reversa. Se for resolvido para um servidor registrado com um servidor DNS, você poderá descobrir seu domínio.

Se você pode ou não, depende da presença de um PTR (registro de ponteiro). PTRs resolvem um endereço IP para um nome de domínio totalmente qualificado. No entanto, como não são obrigatórios, nem sempre estão presentes em um domínio.

Vamos ver se podemos descobrir para onde nos leva o endereço IP 209.51.188.148. Nós digitamos o seguinte, usando a opção -x (pesquisa reversa):

dig -x 209.51.188.148

O

Presto! O endereço IP é resolvido para gnu.org.

Como um PTR é um registro DNS, e sabemos que o dig pode solicitar registros DNS especificados, não poderíamos simplesmente pedir ao dig para recuperar o PTR para nós? Sim, podemos, mas dá um pouco mais de trabalho.

Temos que fornecer o endereço IP na ordem reversa e colocar .in-addr.arpa no final, conforme mostrado abaixo:

dig ptr 148.188.51.209.in-addr.arpa

O

Obtemos o mesmo resultado; apenas exigiu um pouco mais de esforço.

Você pode cavá-lo?

Todos nós usamos a Internet diariamente, e mentes curiosas sempre se perguntam como a mágica acontece quando digitamos o nome de um site em um navegador. Com o dig, você pode explorar os processos de conjuração em rede.