Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
zdns — Biblioteca de Consulta DNS Rápida e Ferramenta CLI | Kitploit
Ferramentas/GitHubGitHub/zmap/zdns
ReconhecimentoColeta de InformaçõesSegurança de RedeUtilitários e FrameworksAnálise de DNS
GitHubzmap/zdns

zdns

Biblioteca de Consulta DNS Rápida e Ferramenta CLI

Ver Repositório
1.1k15014há 1 diaRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

ZDNS

Go Report Card

ZDNS é um resolvedor DNS de alta velocidade e utilitário de linha de comando para realizar medições DNS em larga escala. ZDNS é escrito em Go e contém seu próprio código de resolução recursiva e um cache otimizado para realizar consultas de um conjunto diversificado de nomes. Usamos https://github.com/zmap/dns para construir e analisar pacotes DNS brutos. Para mais informações sobre a arquitetura e desempenho do ZDNS, consulte o seguinte artigo apresentado na ACM's Internet Measurement Conference '22.

[!TIP] O ZDNS Wiki contém informações adicionais sobre o ZDNS e exemplos de casos de uso.

Instalação

ZDNS pode ser instalado baixando o repositório e executando make install.

git clone https://github.com/zmap/zdns.git
cd zdns
make install

Uso

ZDNS consiste em uma biblioteca de resolvedor recursivo e um invólucro CLI.

A biblioteca consiste em uma struct ResolverConfig que conterá todas as opções de configuração para todas as consultas realizadas. O ResolverConfig é usado para criar 1+ struct(s) Resolver que realizarão todas as consultas. Um Resolver deve fazer apenas uma única consulta por vez (não é thread-safe) e múltiplas structs Resolver devem ser usadas para paralelismo. Consulte nossos exemplos para saber como usar a biblioteca. Módulos são usados para definir o comportamento das consultas.

ZDNS fornece vários tipos de módulos:

  • Módulos DNS brutos fornecem a resposta DNS bruta do servidor, semelhante ao dig, mas em JSON. Existe um módulo para (quase) cada tipo de registro DNS.

  • Módulos de consulta fornecem respostas mais úteis quando várias consultas são necessárias (por exemplo, completar uma consulta A adicional para endereços IP se um NS for recebido em NSLOOKUP).

  • Módulos diversos fornecem outros meios adicionais de consultar servidores (por exemplo, bind.version).

Detalhamos os módulos abaixo:

Módulos DNS Brutos

Os módulos A, AAAA, AFSDB, ANY, ATMA, AVC, AXFR, BINDVERSION, CAA, CDNSKEY, CDS, CERT, CNAME, CSYNC, DHCID, DMARC, DNSKEY, DS, EID, EUI48, EUI64, GID, GPOS, HINFO, HIP, HTTPS, ISDN, KEY, KX, L32, L64, LOC, LP, MB, MD, MF, MG, MR, MX, NAPTR, NID, NINFO, NS, NSAPPTR, NSEC, NSEC3, NSEC3PARAM, NSLOOKUP, NULL, NXT, OPENPGPKEY, PTR, PX, RP, RRSIG, RT, SVCBS, MIMEA, SOA, SPF, SRV, SSHFP, TALINK, TKEY, TLSA, TXT, UID, UINFO, UNSPEC e URI fornecem a resposta DNS bruta em formato JSON, semelhante ao dig.

Por exemplo, o comando:

echo "censys.io" | zdns A

retorna:

{
   "name": "censys.io",
   "results": {
      "A": {
         "data": {
            "additionals": [
               {
                  "flags": "",
                  "type": "EDNS0",
                  "udpsize": 512,
                  "version": 0
               }
            ],
            "answers": [
               {
                  "answer": "104.18.10.85",
                  "class": "IN",
                  "name": "censys.io",
                  "ttl": 300,
                  "type": "A"
               },
               {
                  "answer": "104.18.11.85",
                  "class": "IN",
                  "name": "censys.io",
                  "ttl": 300,
                  "type": "A"
               }
            ],
            "protocol": "udp",
            "resolver": "[2603:6013:9d00:3302::1]:53"
         },
         "duration": 0.285295416,
         "status": "NOERROR",
         "timestamp": "2024-08-23T13:12:43-04:00"
      }
   }
}

Módulos de Consulta

Respostas DNS brutas frequentemente não fornecem os dados que você deseja. Por exemplo, uma resposta MX pode não incluir os registros A associados na seção adicional, exigindo uma consulta adicional. Para resolver essa lacuna e fornecer uma interface mais amigável, também fornecemos vários módulos de consulta: alookup, mxlookup e nslookup.

alookup atua de forma semelhante ao nslookup e seguirá registros CNAME. mxlookup também fará uma consulta A para os endereços IP que correspondem a um registro de exchange. nslookup também fará uma consulta A/AAAA para endereços IP que correspondem a um registro NS.

Por exemplo,

echo "censys.io" | zdns mxlookup --ipv4-lookup

retorna:

{
   "name": "censys.io",
   "results": {
      "MXLOOKUP": {
         "data": {
            "exchanges": [
               {
                  "class": "IN",
                  "ipv4_addresses": [
                     "209.85.202.27"
                  ],
                  "name": "alt1.aspmx.l.google.com",
                  "preference": 5,
                  "ttl": 300,
                  "type": "MX"
               },
               {
                  "class": "IN",
                  "ipv4_addresses": [
                     "142.250.31.26"
                  ],
                  "name": "aspmx.l.google.com",
                  "preference": 1,
                  "ttl": 300,
                  "type": "MX"
               }
            ]
         },
         "duration": 0.154786958,
         "status": "NOERROR",
         "timestamp": "2024-08-23T13:10:11-04:00"
      }
   }
}

Outros Módulos DNS

ZDNS também suporta consultas DNS especiais de "debug". Os módulos incluem: BINDVERSION.

Formatos de Entrada

ZDNS suporta fornecer entrada em uma variedade de formatos, dependendo do comportamento desejado.

Entrada Básica

A entrada mais básica é uma lista de nomes separados por novas linhas. Por exemplo:

Do stdin:

echo "google.com\nyahoo.com" | zdns A
cat list_of_domains.txt | zdns A

De um arquivo

zdns A --input-file=list_of_domains.txt

Entrada no Estilo Dig

Se você não precisa resolver muitos domínios, fornecer o domínio como argumento CLI, semelhante ao dig, é suportado para facilidade de uso.

Por exemplo:

zdns A google.com --name-servers=1.1.1.1

Equivalente a dig -t A google.com @1.1.1.1

Servidores de Nomes por Domínio

Normalmente, o ZDNS escolherá um servidor de nomes aleatório para cada consulta de domínio a partir de --name-servers. Se, em vez disso, você quiser especificar um servidor de nomes diferente para cada domínio, pode fazer isso fornecendo pares domainName,nameServerIP separados por novas linhas. Isso substituirá quaisquer servidores de nomes fornecidos com --name-servers.

Por exemplo:

echo "google.com,1.1.1.1\nfacebook.com,8.8.8.8" | zdns A

Você pode ver o resolver conforme especificado para cada domínio na saída (additionals/answers redigidos por brevidade):

$ echo "google.com,1.1.1.1\nfacebook.com,8.8.8.8" | zdns A
{"name":"google.com","results":{"A":{"data":{"additionals":...,"answers":[...],"protocol":"udp","resolver":"1.1.1.1:53"},"duration":0.030490042,"status":"NOERROR","timestamp":"2024-09-13T09:51:34-04:00"}}}
{"name":"facebook.com","results":{"A":{"data":{"additionals":[...],"answers":[...],"protocol":"udp","resolver":"8.8.8.8:53"},"duration":0.061365459,"status":"NOERROR","timestamp":"2024-09-13T09:51:34-04:00"}}}

Arquivos de Zona

Arquivos de zona (do ICANN CZDS ou similares) podem ser usados como fonte de entrada para o ZDNS com a flag --zone-file. Isso permite analisar arquivos de zona a partir do stdin (padrão) ou de um arquivo com a flag --input-file.

Por padrão, o ZDNS extrairá apenas o nome de cada registro do arquivo de zona. Se você também quiser resolver os nomes referenciados na seção de resposta de tipos de registro como CNAMEs ou registros NS, pode usar a flag CLI --zone-file-include-targets.

Baixar ferramenta