A ferramenta Doggo veio para ajudar as pessoas que atuam na área de segurança da informação ou que administram servidores que hospedam aplicações web.
O que é esse trem?
É basicamente uma ferramenta de linha de comando que faz praticamente o mesmo que ferramentas como dig ou nslookup, mas apresenta os resultados das configurações de DNS de uma maneira mais amigável e às vezes mais completa.
Caraterísticas
- Saída de fácil leitura, com partes coloridas e formato tabulado
- Saída com suporte ao formato JSON que facilita na criação de scripts e a realização de parsing
- Suporte à múltiplos protocolos de transporte
- DNS sobre HTTPS (DoH)
- DNS sobre TLS (DoT)
- DNS sobre QUIC (DoQ)
- DNS sobre TCP
- DNS sobre UDP
- DNSCrypt
- Suporte para addons e configurações de busca do arquivo resolv.conf ou argumentos de linha de comando
- Suporte à multiplos resolvedores com estratégias de consultas customizáveis
- Supote ao IPv4 e IPv6
- Interface web disponível em doggo.mrkaran.dev
- Suporte aos shells zsh e fish
- Lookup de DNS reverso
- Opções de consultas flexíveis, incluindo várias flags de DNS (AA, AD, CD, DD, etc)
- Modo debug para troubleshooting
- Medição do tempo de resposta
- Suporte multiplataforma (Linux, macOS, Windows, FreeBSD
Instalação
Vamos instalar o Doggo dentro do Kali Linux, mas você pode fazer isso no Windows também (primeiro instale o Scoop. uma instalador de linha de comando para Windows e depois instale o Doogo via Prompt de Comando digitando scoop install doggo).
Digite o comando curl -sS https://raw.githubusercontent.com/mr-karan/doggo/main/install.sh |, conforme mostrado a seguir:
$ curl -sS https://raw.githubusercontent.com/mr-karan/doggo/main/install.sh | sh
> Latest doggo version: v1.0.0
> Detected platform: Linux
> Detected architecture: x86_64
> Downloading doggo v1.0.0 for Linux_x86_64...
> Download URL: https://github.com/mr-karan/doggo/releases/download/v1.0.0/doggo_1.0.0_Linux_x86_64.tar.gz
> Verifying downloaded file...
> Extracting doggo_1.0.0_Linux_x86_64.tar.gz...
doggo_1.0.0_Linux_x86_64/LICENSE
doggo_1.0.0_Linux_x86_64/README.md
doggo_1.0.0_Linux_x86_64/doggo
> Installing doggo...
[sudo] password for kali:
> Cleaning up...
✓ doggo v1.0.0 has been installed to /usr/local/bin/doggo
> You can now use doggo by running 'doggo' in your terminal.
Para ver as opções disponíveis do Doggo, digite doggo –help:
$ doggo --help
NAME:
doggo 🐶 DNS Client for Humans
USAGE:
doggo [--] [query options] [arguments...]
VERSION:
v1.0.0 (fe39585 2024-07-01T16:45:13Z) - unknown
EXAMPLES:
doggo mrkaran.dev Query a domain using defaults.
doggo mrkaran.dev CNAME Query for a CNAME record.
doggo mrkaran.dev MX @9.9.9.9 Uses a custom DNS resolver.
doggo -q mrkaran.dev -t MX -n 1.1.1.1 Using named arguments.
doggo mrkaran.dev --aa --ad Query with Authoritative Answer and Authenticated Data flags set.
doggo mrkaran.dev --cd --do Query with Checking Disabled and DNSSEC OK flags set.
Free Form Arguments:
Supply hostnames, query types, and classes without flags. Example:
doggo mrkaran.dev A @1.1.1.1
Transport Options:
Specify the protocol with a URL-type scheme.
UDP is used if no scheme is specified.
@udp:// eg: @1.1.1.1 initiates a UDP query to 1.1.1.1:53.
@tcp:// eg: @tcp://1.1.1.1 initiates a TCP query to 1.1.1.1:53.
@https:// eg: @https://cloudflare-dns.com/dns-query initiates a DOH query to Cloudflare via DoH.
@tls:// eg: @tls://1.1.1.1 initiates a DoT query to 1.1.1.1:853.
@sdns:// initiates a DNSCrypt or DoH query using a DNS stamp.
@quic:// initiates a DOQ query.
Query Options:
-q, --query=HOSTNAME Hostname to query the DNS records for (eg mrkaran.dev).
-t, --type=TYPE Type of the DNS Record (A, MX, NS etc).
-n, --nameserver=ADDR Address of a specific nameserver to send queries to (9.9.9.9, 8.8.8.8 etc).
-c, --class=CLASS Network class of the DNS record (IN, CH, HS etc).
-x, --reverse Performs a DNS Lookup for an IPv4 or IPv6 address. Sets the query type and class to PTR and IN respectively.
Resolver Options:
--strategy=STRATEGY Specify strategy to query nameserver listed in etc/resolv.conf. (all, random, first).
--ndots=INT Specify ndots parameter. Takes value from /etc/resolv.conf if using the system namesever or 1 otherwise.
--search Use the search list defined in resolv.conf. Defaults to true. Set --search=false to disable search list.
--timeout Specify timeout (in seconds) for the resolver to return a response.
-4 --ipv4 Use IPv4 only.
-6 --ipv6 Use IPv6 only.
--ndots=INT Specify ndots parameter. Takes value from /etc/resolv.conf if using the system namesever or 1 otherwise.
--tls-hostname=HOSTNAME Provide a hostname for doing verification of the certificate if the provided DoT nameserver is an IP.
--skip-hostname-verification Skip TLS Hostname Verification in case of DOT Lookups.
Query Flags:
--aa Set Authoritative Answer flag.
--ad Set Authenticated Data flag.
--cd Set Checking Disabled flag.
--rd Set Recursion Desired flag (default: true).
--z Set Z flag (reserved for future use).
--do Set DNSSEC OK flag.
Output Options:
-J, --json Format the output as JSON.
--short Short output format. Shows only the response section.
--color Defaults to true. Set --color=false to disable colored output.
--debug Enable debug logging.
--time Shows how long the response took from the server.
Para visualizar configurações sobre uma entrada A de um determinado domínio e ainda possar um servidor de DNS (da Cloudflare por exemplo) como parâmetro, digite o exemplo como mostrado:;
$ doggo nsa.gov A @1.1.1.1
NAME TYPE CLASS TTL ADDRESS NAMESERVER
nsa.gov. A IN 20s 184.85.134.47 1.1.1.1:53
Para obter informações sobre uma entrada A, AAA e MX, use este exemplo:
doggo nsa.gov A AAAA mx @1.1.1.1
NAME TYPE CLASS TTL ADDRESS NAMESERVER
nsa.gov. A IN 20s 184.85.134.47 1.1.1.1:53
nsa.gov. SOA IN 28800s w000-dsid-u05.nsa.gov. 1.1.1.1:53
hostmaster.nsa.gov. 2024030527
3600 1080 2419200 900
nsa.gov. MX IN 3600s 10 emsm-gh1-uea10.ncsc.mil. 1.1.1.1:53
nsa.gov. MX IN 3600s 10 emsm-gh1-uea11.ncsc.mil. 1.1.1.1:53
nsa.gov. MX IN 3600s 20 pri-jeemsg.eemsg.mail.mil. 1.1.1.1:53
nsa.gov. MX IN 3600s 20 sec-jeemsg.eemsg.mail.mil. 1.1.1.1:53
Créditos:
https://doggo.mrkaran.dev/docs
Créditos da imagem usada na capa do post:
https://nfmais.com/tecnologia/qual-o-melhor-dns-em-2024-guia-completo