Entenda como funciona um servidor DNS e qual a estrutura por trás da tradução do domínio para um endereço IP.
Essa semana estive pensando sobre a importância de aprender redes de computadores e em como essa parte é um pouco negligenciada por desenvolvedores, principalmente os iniciantes. | ||
Não que eu seja um dev experiente, longe disso, mas reconheço a importância desse assunto e no meu caso em particular, redes é um assunto que eu preciso dominar se quiser atingir alguma relevância no campo da segurança da informação. | ||
Em vista disso, vou começar a compartilhar um pouco sobre o que estou aprendendo sobre redes e falar também sobre como funciona a internet. | ||
As publicações talvez não sejam sequenciais, no sentido de uma complementar a outra diretamente uma logo após a outra. | ||
No entanto, você pode acompanhar tudo que escrevi sobre o assunto no meu canal da Pingback. | ||
Para dar início, quero falar sobre algo que é de certa forma misterioso para os olhos de quem é atencioso e não sabe muito sobre tech: o DNS. | ||
O que é o DNS e o que ele faz? | ||
Você já deve ter ouvido falar que cada máquina possui um endereço IP, isso de fato é apenas meia verdade. | ||
Cada computador conectado numa rede, possui uma interface de rede, que recebe um endereço de IP. | ||
| ||
É legal mencionar isso porque muita gente acredita que o computador tem um endereço de IP, mas na realidade, quem tem um endereço de IP é a interface de rede, que é um componente físico. | ||
Uma outra coisa, o endereço de IP, em teoria deve ser único na rede a qual pertence. | ||
Mas o que isso tem a ver com o DNS? | ||
Calma cara, espera um pouco... | ||
Tenha em mente que computadores se comunicam através de um número de IP e uma PORTA. | ||
Na web, na maior parte das vezes, usaremos a porta 80 para realizar conexões (ou 443). Ela é padrão para conexões HTTP e nesse post não vamos entrar muito em detalhes sobre isso. | ||
Ok tudo bem, mas você ainda não disse absolutamente nada sobre DNS. | ||
Eu acredito em você.. então vamos lá... | ||
Eu disse que computadores se comunicam através de um IP e uma PORTA. | ||
E para a surpresa de alguns, um servidor também é um computador! | ||
E adivinhe? Ele também tem um endereço IP. | ||
Mas quando você quer acessar o google, você não digita diretamente o endereço ip desse servidor. Nesse cenário, você digita o domínio, o nome dele. | ||
Entre o DOMÍNIO e o IP do servidor, existe o DNS (Domain Name System) que vai fazer a tradução do nome para o número IP do servidor correspondente. | ||
Pense em uma lista telefônica, o DNS funciona de maneira bem parecida. | ||
Você procura o nome do cidadão e atrelado a ele, existe um número de telefone correspondente. | ||
| ||
Isso é muito útil porque é muito mais fácil lembrar de google.com do que 142.250.218.238, que é o endereço ip do servidor. | ||
Como o DNS resolve nomes? | ||
Tenha em mente o conceito de Top-Level-Domain. | ||
Top-Level-Domain (TLD): | ||
É a parte mais a direita de um domínio. Exemplo: .com / .br / .org | ||
| ||
Veja a estrutura de como é feita uma consulta ao servidor DNS. | ||
| ||
Parece complicado, mas não é. | ||
Acompanhe as setas: | ||
| ||
Realmente é uma novela para conseguir o endereço IP de um servidor, por sorte, nós temos um cache em cada um dos servidores DNS, que armazena o endereço IP dos sites mais visitados. | ||
Imagine só se você tivesse que passar por esse processo cada vez que entra em algum site famoso tipo o YouTube? | ||
Vamos por partes: | ||
DNS Recursivo : | ||
| ||
Root Server : | ||
| ||
DNS Autoritativo: | ||
| ||
Existem mais detalhes sobre o DNS que merecem ser mencionados, como por exemplo os tipos de registro A, AAAA, TXT, CNAME, MX e afins. | ||
Porém, quero criar um outro artigo separado e com mais detalhes, inclusive falando sobre enumeração de DNS. | ||
Obrigado pelo seu tempo. | ||