Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/projectdiscovery/dnsx
AufklärungDNS- und Subdomain-EnumerationInformationsbeschaffungDienstprogramme & FrameworksDNS-Analyse
GitHubprojectdiscovery/dnsx

dnsx

dnsx ist ein schnelles und vielseitiges DNS-Toolkit, mit dem Sie mehrere DNS-Abfragen Ihrer Wahl mit einer Liste von benutzerdefinierten Resolvern ausführen können.

Repository anzeigen
2.8k327vor 4 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

dnsx

Ein schnelles und vielseitiges DNS-Toolkit für DNS-Abfragen

Funktionen • Installation • Nutzung • `dnsx` ausführen • Wildcard • Hinweise • Discord beitreten


dnsx ist ein schnelles und vielseitiges DNS-Toolkit, das für verschiedene Sonden durch die retryabledns-Bibliothek entwickelt wurde. Es unterstützt mehrere DNS-Abfragen, benutzerdefinierte Resolver, DNS-Wildcard-Filterung wie shuffledns usw.

Funktionen

dnsx

  • Einfaches und praktisches Dienstprogramm zum Abfragen von DNS-Einträgen.
  • Unterstützung für A, AAAA, CNAME, PTR, NS, MX, TXT, SRV, SOA-Abfragen
  • Unterstützung für DNS-Auflösung / Brute-Force
  • Unterstützung für benutzerdefinierte Resolver-Eingabe
  • Unterstützung für mehrere Resolver-Formate (TCP/UDP/DOH/DOT)
  • stdin- und stdout-Unterstützung
  • Automatische Wildcard-Handhabung

Installationsanleitung

Zur erfolgreichen Installation benötigt dnsx go1.21. Führen Sie den folgenden Befehl aus, um die neueste Version zu installieren:

root@kitploit:~
go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest

Nutzung

root@kitploit:~
dnsx -h

Dies zeigt die Hilfe für das Tool an. Hier sind alle verfügbaren Schalter.

root@kitploit:~
INPUT:
   -l, -list string      Liste der aufzulösenden Sub(domains)/Hosts (Datei oder stdin)
   -d, -domain string    Liste der Domains für Brute-Force (Datei oder kommagetrennt oder stdin)
   -w, -wordlist string  Liste der Wörter für Brute-Force (Datei oder kommagetrennt oder stdin)

QUERY:
   -a                       A-Eintrag abfragen (Standard)
   -aaaa                    AAAA-Eintrag abfragen
   -cname                   CNAME-Eintrag abfragen
   -ns                      NS-Eintrag abfragen
   -txt                     TXT-Eintrag abfragen
   -srv                     SRV-Eintrag abfragen
   -ptr                     PTR-Eintrag abfragen
   -mx                      MX-Eintrag abfragen
   -soa                     SOA-Eintrag abfragen
   -any                     ANY-Eintrag abfragen
   -axfr                    AXFR abfragen
   -caa                     CAA-Eintrag abfragen
   -recon                   Alle DNS-Einträge abfragen (a,aaaa,cname,ns,txt,srv,ptr,mx,soa,axfr,caa)
   -e, -exclude-type value  Auszuschließender DNS-Abfragetyp (a,aaaa,cname,ns,txt,srv,ptr,mx,soa,axfr,caa) (Standard: none)

FILTER:
   -re, -resp          DNS-Antwort anzeigen
   -ro, -resp-only     Nur DNS-Antwort anzeigen
   -rc, -rcode string  Ergebnis nach DNS-Statuscode filtern (z. B. -rcode noerror,servfail,refused)

PROBE:
   -cdn  CDN-Name anzeigen
   -asn  ASN-Informationen des Hosts anzeigen

RATE-LIMIT:
   -t, -threads int      Anzahl gleichzeitiger Threads (Standard: 100)
   -rl, -rate-limit int  Anzahl der DNS-Anfragen pro Sekunde (standardmäßig deaktiviert) (Standard: -1)

UPDATE:
   -up, -update                 dnsx auf die neueste Version aktualisieren
   -duc, -disable-update-check  automatische Prüfung auf dnsx-Updates deaktivieren

OUTPUT:
   -o, -output string           Datei für die Ausgabe
   -j, -json                    Ausgabe im JSONL(ines)-Format
   -omit-raw, -or               Rohe DNS-Antwort aus JSONL-Ausgabe auslassen
   -ot, -output-template string Benutzerdefinierte Ausgabevorlage (z. B. -ot '{{host}} {{a}}')

DEBUG:
   -hc, -health-check  Diagnoseprüfung durchführen
   -silent             Nur Ergebnisse anzeigen
   -v, -verbose        Ausführliche Ausgabe anzeigen
   -raw, -debug        Rohe DNS-Antwort anzeigen
   -stats              Statistiken des laufenden Scans anzeigen
   -version            Version von dnsx anzeigen
   -nc, -no-color      Farbe in der Ausgabe deaktivieren

OPTIMIZATION:
   -retry int                Anzahl der DNS-Versuche (muss mindestens 1 sein) (Standard: 2)
   -hf, -hostsfile           System-Hosts-Datei verwenden
   -trace                    DNS-Trace durchführen
   -trace-max-recursion int  Maximale Rekursionstiefe für DNS-Trace (Standard: 32767)
   -resume                   Vorhandenen Scan fortsetzen
   -stream                   Stream-Modus (Wortliste, Wildcard, Statistiken und Stop/Fortsetzen werden deaktiviert)
   -timeout value            Maximale Wartezeit für den Abschluss einer DNS-Abfrage (Standard: 3s)

CONFIGURATIONS:
   -auth                         Projektdiscovery-Cloud (pdcp)-API-Schlüssel konfigurieren (Standard: true)
   -r, -resolver string          Liste der zu verwendenden Resolver (Datei oder kommagetrennt)
   -wt, -wildcard-threshold int  Wildcard-Filter-Schwellenwert (Standard: 5)
   -auto-wildcard                Wildcard-Domains automatisch zum Filtern erkennen
   -wd, -wildcard-domain string  Domainname für manuelle Wildcard-Filterung (schließen sich gegenseitig aus mit -auto-wildcard; andere Flags werden ignoriert – JSON-Ausgabe empfohlen)

dnsx ausführen

DNS-Auflösung

Aktive Hostnamen aus der Liste passiver Subdomains filtern, die aus verschiedenen Quellen stammen:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent

a.ns.hackerone.com
www.hackerone.com
api.hackerone.com
docs.hackerone.com
mta-sts.managed.hackerone.com
mta-sts.hackerone.com
resources.hackerone.com
b.ns.hackerone.com
mta-sts.forwarding.hackerone.com
events.hackerone.com
support.hackerone.com

A-Einträge für die angegebene Liste von Subdomains ausgeben:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -a -resp

www.hackerone.com [104.16.100.52]
www.hackerone.com [104.16.99.52]
hackerone.com [104.16.99.52]
hackerone.com [104.16.100.52]
api.hackerone.com [104.16.99.52]
api.hackerone.com [104.16.100.52]
mta-sts.forwarding.hackerone.com [185.199.108.153]
mta-sts.forwarding.hackerone.com [185.199.109.153]
mta-sts.forwarding.hackerone.com [185.199.110.153]
mta-sts.forwarding.hackerone.com [185.199.111.153]
a.ns.hackerone.com [162.159.0.31]
resources.hackerone.com [52.60.160.16]
resources.hackerone.com [3.98.63.202]
resources.hackerone.com [52.60.165.183]
resources.hackerone.com [read.uberflip.com]
mta-sts.hackerone.com [185.199.110.153]
mta-sts.hackerone.com [185.199.111.153]
mta-sts.hackerone.com [185.199.109.153]
mta-sts.hackerone.com [185.199.108.153]
gslink.hackerone.com [13.35.210.17]
gslink.hackerone.com [13.35.210.38]
gslink.hackerone.com [13.35.210.83]
gslink.hackerone.com [13.35.210.19]
b.ns.hackerone.com [162.159.1.31]
docs.hackerone.com [185.199.109.153]
docs.hackerone.com [185.199.110.153]
docs.hackerone.com [185.199.111.153]
docs.hackerone.com [185.199.108.153]
support.hackerone.com [104.16.51.111]
support.hackerone.com [104.16.53.111]
mta-sts.managed.hackerone.com [185.199.108.153]
mta-sts.managed.hackerone.com [185.199.109.153]
mta-sts.managed.hackerone.com [185.199.110.153]
mta-sts.managed.hackerone.com [185.199.111.153]

A-Einträge für die angegebene Liste von Subdomains extrahieren:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -a -resp-only

104.16.99.52
104.16.100.52
162.159.1.31
104.16.99.52
104.16.100.52
185.199.110.153
185.199.111.153
185.199.108.153
185.199.109.153
104.16.99.52
104.16.100.52
104.16.51.111
104.16.53.111
185.199.108.153
185.199.111.153
185.199.110.153
185.199.111.153

CNAME-Einträge für die angegebene Liste von Subdomains extrahieren:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -cname -resp

support.hackerone.com [hackerone.zendesk.com]
resources.hackerone.com [read.uberflip.com]
mta-sts.hackerone.com [hacker0x01.github.io]
mta-sts.forwarding.hackerone.com [hacker0x01.github.io]
events.hackerone.com [whitelabel.bigmarker.com]

ASN-Einträge für die angegebene Liste von Subdomains extrahieren:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent  -asn

b.ns.hackerone.com [AS13335, CLOUDFLARENET, US]
a.ns.hackerone.com [AS13335, CLOUDFLARENET, US]
hackerone.com [AS13335, CLOUDFLARENET, US]
www.hackerone.com [AS13335, CLOUDFLARENET, US]
api.hackerone.com [AS13335, CLOUDFLARENET, US]
support.hackerone.com [AS13335, CLOUDFLARENET, US]

Sonde mit DNS-Statuscode auf angegebener Liste von (Sub)domains:

root@kitploit:~
subfinder -silent -d hackerone.com | dnsx -silent -rcode noerror,servfail,refused

ns.hackerone.com [NOERROR]
a.ns.hackerone.com [NOERROR]
b.ns.hackerone.com [NOERROR]
support.hackerone.com [NOERROR]
resources.hackerone.com [NOERROR]
mta-sts.hackerone.com [NOERROR]
www.hackerone.com [NOERROR]
mta-sts.forwarding.hackerone.com [NOERROR]
docs.hackerone.com [NOERROR]

Subdomains aus einem angegebenen Netzwerkbereich mit PTR-Abfrage extrahieren:

root@kitploit:~
echo 173.0.84.0/24 | dnsx -silent -resp-only -ptr

cors.api.paypal.com
trinityadminauth.paypal.com
cld-edge-origin-api.paypal.com
appmanagement.paypal.com
svcs.paypal.com
trinitypie-serv.paypal.com
ppn.paypal.com
pointofsale-new.paypal.com
pointofsale.paypal.com
slc-a-origin-pointofsale.paypal.com
fpdbs.paypal.com

Subdomains aus einer angegebenen ASN mit PTR-Abfrage extrahieren:

root@kitploit:~
echo AS17012 | dnsx -silent -resp-only -ptr 

apiagw-a.paypal.com
notify.paypal.com
adnormserv-slc-a.paypal.com
a.sandbox.paypal.com
apps2.paypal-labs.com
pilot-payflowpro.paypal.com
www.paypallabs.com
paypal-portal.com
micropayments.paypal-labs.com
minicart.paypal-labs.com

Benutzerdefiniertes Ausgabeformat

Das Flag -output-template (-ot) erlaubt die Anpassung des Ausgabeformats mittels einer Vorlage, anstelle des standardmäßigen Klammerlayouts (z. B. example.com [A] [104.20.23.154]). Sie geben die Vorlage direkt in der Befehlszeile an, um zu steuern, wie die aufgelösten Daten dargestellt werden.

Vorlagenvariablen entsprechen denselben Feldnamen, die in der JSONL-Ausgabe (-json) verwendet werden, sodass alle folgenden als {{field}} referenziert werden können:

host, a, aaaa, cname, ns, txt, mx, srv, ptr, soa, caa, ttl, resolver, status_code, cdn-name, cdn-type, , . Ein praktischer -Alias enthält die kombinierten - und -Einträge.

Einträge mit mehreren Werten (z. B. mehrere A-Einträge) werden innerhalb eines einzelnen Feldes kommagetrennt zusammengefügt.

root@kitploit:~
echo example.com | dnsx -silent -a -ot '{{host}} {{a}}'

example.com 104.20.23.154,172.66.147.243
root@kitploit:~
echo example.com | dnsx -silent -a -ot '{{ip}} - {{host}}'

104.20.23.154,172.66.147.243 - example.com

[!NOTE] Wenn ein angegebenes Feld nicht existiert oder keinen Wert enthält, wird es einfach in der Ausgabe weggelassen. -output-template kann nicht mit -json oder -raw kombiniert werden.


DNS-Brute-Force

Subdomains für eine oder mehrere Domains mit den Flags d und w bruteforcen:

root@kitploit:~
dnsx -silent -d facebook.com -w dns_worldlist.txt

blog.facebook.com
booking.facebook.com
api.facebook.com
analytics.facebook.com
beta.facebook.com
apollo.facebook.com
ads.facebook.com
box.facebook.com
alpha.facebook.com
apps.facebook.com
connect.facebook.com
c.facebook.com
careers.facebook.com
code.facebook.com

Gezielte Subdomain-Brute-Force mit einzelnen oder mehreren Schlüsselwörtern als Eingabe, da die Flags d oder w Datei- oder kommagetrennte Schlüsselworteingaben unterstützen:

root@kitploit:~
dnsx -silent -d domains.txt -w jira,grafana,jenkins

grafana.1688.com
grafana.8x8.vc
grafana.airmap.com
grafana.aerius.nl
jenkins.1688.com
jenkins.airbnb.app
jenkins.airmap.com
jenkins.ahn.nl
jenkins.achmea.nl
jira.amocrm.com
jira.amexgbt.com
jira.amitree.com
jira.arrival.com
jira.atlassian.net
jira.atlassian.com

Werte werden für alle Eingabetypen (-list, -domain, -wordlist) von stdin akzeptiert. Das Flag -list verwendet standardmäßig stdin, dasselbe kann für andere Eingabetypen durch Hinzufügen eines - (Bindestrich) als Parameter erreicht werden:

root@kitploit:~
cat domains.txt | dnsx -silent -w jira,grafana,jenkins -d -

grafana.1688.com
grafana.8x8.vc
grafana.airmap.com
grafana.aerius.nl
jenkins.1688.com
jenkins.airbnb.app
jenkins.airmap.com
jenkins.ahn.nl
jenkins.achmea.nl
jira.amocrm.com
jira.amexgbt.com
jira.amitree.com
jira.arrival.com
jira.atlassian.net
jira.atlassian.com

DNS-Brute-Force mit Platzhalter-basierter Wortliste

root@kitploit:~
$ cat tld.txt

com
by
de
be
al
bi
cg
dj
bs
root@kitploit:~
dnsx -d google.FUZZ -w tld.txt -resp

      _             __  __
   __| | _ __   ___ \ \/ /
  / _' || '_ \ / __| \  / 
 | (_| || | | |\__ \ /  \ 
  \__,_||_| |_||___//_/\_\ v1.1.2

      projectdiscovery.io

google.de [142.250.194.99] 
google.com [142.250.76.206] 
google.be [172.217.27.163] 
google.bs [142.251.42.35] 
google.bi [216.58.196.67] 
google.al [216.58.196.68] 
google.by [142.250.195.4] 
google.cg [142.250.183.131] 
google.dj [142.250.192.3] 

Wildcard-Filterung

Eine besondere Funktion von dnsx ist die Fähigkeit, mehrstufige DNS-basierte Wildcards zu handhaben, und dies mit einer sehr geringen Anzahl von DNS-Anfragen. Manchmal lösen sich alle Subdomains auf, was zu viel Müll in der Ausgabe führt. dnsx geht dies an, indem es verfolgt, wie viele Subdomains auf eine IP zeigen. Wenn die Anzahl der Subdomains einen bestimmten Schwellenwert überschreitet, wird iterativ für alle Ebenen der Hosts dieser IP auf Wildcards geprüft.

root@kitploit:~
dnsx -l subdomain_list.txt -wd airbnb.com -o output.txt

Um Wildcard-DNS automatisch über mehrere Domains in einem einzigen Durchlauf zu erkennen und zu filtern, während der ausgewählte Ausgabemodus beibehalten wird:

root@kitploit:~
dnsx -l subdomain_list.txt -auto-wildcard -o output.txt

-auto-wildcard und -wd / -wildcard-domain schließen sich gegenseitig aus. Verwenden Sie -wd, wenn Sie den vorhandenen manuellen Wildcard-Filterungsablauf für eine einzelne Domain verwenden möchten; verwenden Sie -auto-wildcard, wenn Sie möchten, dass dnsx Wildcard-Wurzeln automatisch bei gemischten Domain-Eingaben erkennt.


dnsx als Bibliothek

Es ist möglich, die Bibliothek direkt in Go-Programmen zu verwenden. Die folgenden Codeausschnitte sind ein Beispiel für die Verwendung in Go-Programmen. Detaillierte Paketkonfiguration und Verwendung finden Sie hier.

root@kitploit:~
package main

import (
	"fmt"

	"github.com/projectdiscovery/dnsx/libs/dnsx"
)

func main() {
	// DNS Resolver mit Standardoptionen erstellen
	dnsClient, err := dnsx.New(dnsx.DefaultOptions)
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}

	// DNS A-Frage und Rückgabe entsprechender IPs
	result, err := dnsClient.Lookup("hackerone.com")
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	for idx, msg := range result {
		fmt.Printf("%d: %s\n", idx+1, msg)
	}

	// Abfrage
	rawResp, err := dnsClient.QueryOne("hackerone.com")
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	fmt.Printf("rawResp: %v\n", rawResp)

	jsonStr, err := rawResp.JSON()
	if err != nil {
		fmt.Printf("err: %v\n", err)
		return
	}
	fmt.Println(jsonStr)

	return
}

📋 Hinweise

  • Standardmäßig prüft dnsx nach A-Einträgen.
  • Standardmäßig verwendet dnsx Google, Cloudflare, Quad9 als Resolver.
  • Eine benutzerdefinierte Resolver-Liste kann mit dem Flag r geladen werden.
  • -auto-wildcard erkennt automatisch Wildcard-Domains über mehrere registrierbare Wurzeln in einem einzigen Durchlauf.
  • Der Domainname (-wd) wird nur für die manuelle Wildcard-Filterung benötigt und kann nicht zusammen mit -auto-wildcard verwendet werden.
  • Bei Verwendung der manuellen Wildcard-Filterung mit -wd werden andere DNS-Eintragsflags ignoriert, und die JSON-Ausgabe wird empfohlen.
  • DNS-Auflösung (l) und DNS-Brute-Force (w) können nicht gleichzeitig verwendet werden.
  • VPN-Betreiber neigen dazu, hohen DNS/UDP-Verkehr zu filtern, daher kann es beim Tool zu Paketverlusten kommen (z. B. Mullvad VPN). Siehe diesen möglichen Lösungsansatz.

dnsx wurde mit 🖤 vom projectdiscovery-Team entwickelt.

Tool herunterladen
asn
query-time
{{ip}}
A
AAAA