Redes de computadores Prof. António dos Anjos Aula 67 – TEC 11ºF Redes de computadores Prof. António dos Anjos
Mensagem DNS (o protocolo) Header Query Answer Authority Additional Mensagem DNS (o protocolo) HEADER QUESTION ANSWER AUTHORITY ADDITIONAL
Mensagem DNS (2) Header: Question: Answer: Authority: Additional: Qual o tipo de query; Que restantes secções estão presentes; etc…; Question: A pergunta que se faz ao nameserver; Answer: Resposta do nameserver com os RRs pedidos; Authority: RRs com os nameservers com autoridade sobre o domínio; Additional: RRs com informação adicional.
HEADER ID QR OPCODE AA TR RD RA Z RCODE QDCOUNT ANCOUNT NSCOUNT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ID QR OPCODE AA TR RD RA Z RCODE QDCOUNT ANCOUNT NSCOUNT ARCOUNT
HEADER (2) ID: QR: OPCODE: Se activos ( == 1): RCODE: Número gerado pelo emissor, que depois será copiada para a resposta para identificação à chegada; QR: Identifica se a query é uma pergunta ou uma resposta; OPCODE: Tipo de query que se está a fazer: 0 – Standard Query; 1 – Inverse Query; 2 – Status Query; Se activos ( == 1): AA – Indica resposta autoritária; TC – Resposta Truncada; RD – Deseja-se recursividade; RA – Recursividade Disponível; Z – Reservado (tudo a zero); RCODE: 0 – Sem erros; 1 – Erro de formato; 2 – Falha no servidor; 3 – O nome não existe; 4 – O nameserver não “suporta” a query; 5 – Recusado (devido a políticas de sistema);
HEADER (3) QDCOUNT: ANCOUNT: NSCOUNT: ARCOUNT: Número de entradas na secções de questões; ANCOUNT: Número de RRs na secção de respostas; NSCOUNT: Número de RRs relativos a nameservers na secção Authority; ARCOUNT: Número de RRs na secção Additional.
Secção QUESTION ( ≡ query) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QNAME (variável) QTYPE QCLASS QNAME: Sequência de Labels que representa um domain name; QTYPE: Tipo de RRs pretendidos (ver slide dos tipos de RRs – aula anterior); QCLASS: Classe da query (normalmente IN);
Answer – Authority – Additional O mesmo formato para restantes (RR’s) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 NAME (variável) TYPE CLASS TTL RDLENGTH RDATA (variável) RDLENGTH: Tamanho em bytes do campo RDATA; Para os significados dos campos restantes, veja o slide sobre os RRs;
Representação das Labels Byte de tamanho seguido do número de caracteres da label; Termina com o caracter nulo (0); Primeiros dois bits do byte de tamanho são 0’s (Implica máximo = 63 caracteres / label). 3 w 4 u a l g 2 p t Labels + Bytes de tamanho = 255 Bytes max. Por uma questão de simplificação.
DIG - Domain Information Groper Ferramenta utilizada pelos administradores de redes para: Verificar o funcionamento dos nameservers; Fazer queries aos nameservers; Similar ao nslookup (em desuso);
DIG – Sintaxe dig @server nome tipo server – Nome (ou IP) do nameserver; Se não for definido nenhum nameserver, o dig vai buscar os nameservers definidos em /etc/resolv.conf; nome – Nome do RR que se pretende consultar; E.g. www.power3d.org; tipo – Tipo de RR que pretendemos consultar; Além dos que já conhecemos (A, MX, CNAME, etc…), temos: ANY (quaisquer); AXFR (Transferência de zona – A operação que o nameserver secundário executa para se actualizar).
DIG - Exemplos dig @194.65.100.117 ualg.pt ns Pergunta, a um dos nameservers do sapo, quais são os nameservers do domínio ualg.pt.; dig @ns.telepac.pt www.ualg.pt cname Pergunta a um dos servidores da telepac, qual o “verdadeiro” nome do computador www no domínio ualg.pt.;
Exercícios Utilizando a ferramenta dig, responda às seguintes perguntas: Qual é o e-mail da pessoa responsável pelo domínio ualg.pt. ? Quais são os IPs dos computadores que tratam da recepção de e-mails na Universidade do Algarve? Qual o endereço IP do computador www.megamail.pt.? Quantos nameservers “gerem” domínio . ? De quantas em quantas horas o nameserver secundário do domínio google.com tem de se actualizar? Nota: Ao mesmo tempo que faz as queries, faça também a análise das mesmas com o packet sniffer Ethereal.