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

What's your reaction?

Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
Canal Hacker
Me chamo Ricardo Maganhati e sou o criador do site Canal Hacker.

You may also like

More in:How-To