Olá! Nossa meta aqui é desenvolver um resolvedor de DNS simplificado.
Mas o que é um resolvedor de DNS? É um programa que sabe como descobrir qual é o endereço IP de um domínio. Veja como é a interface de linha de comando do resolvedor que vamos escrever:
$ python3 resolver.py exemplo.com 93.184.216.34
O projeto todo tem cerca de 200 linhas de código Python, incluindo a implementação de toda a análise binária do DNS.
Esse projeto é uma forma divertida de aprender:
Como analisar um protocolo de rede binário, como o DNS;
Como o DNS funciona internamente (o que acontece nos bastidores quando você faz uma consulta DNS?)
Também há alguns exercícios extras se você quiser implementar mais algumas das funcionalidades que um resolvedor de DNS real teria.
Tudo está em um notebook Jupyter, que você pode baixar e executar. Você pode baixar todo o código aqui:
Apesar de ser uma forma interessante de aprender, a implementação de um resolvedor de DNS pode ser bastante trabalhosa e complexa, envolvendo uma análise minuciosa do protocolo DNS e suas especificações. No entanto, é uma ferramenta essencial para que possamos navegar na internet e acessar sites e serviços diversos. Por isso, é importante que haja pessoas capacitadas e especializadas nessa área, capazes de desenvolver e manter esses sistemas de maneira eficiente e segura.
Confira os últimos vídeos publicados no canal