Wenn Sie nach ANY fragen, erhalten Sie eine Liste aller Datensätze auf dieser Ebene, jedoch nicht darunter.
# try this
dig google.com any
Dies kann A-Datensätze, TXT-Datensätze, NS-Datensätze, MX-Datensätze usw. zurückgeben, wenn der Domainname genau "google.com" lautet. Es werden jedoch keine untergeordneten Datensätze zurückgegeben (z. B. www.google.com). Genauer gesagt, Sie können diese Datensätze erhalten, wenn sie vorhanden sind. Der Nameserver muss diese Datensätze nicht zurückgeben, wenn er dies nicht möchte (z. B. um die Größe der Antwort zu verringern).
Ein AXFR ist eine Zonenübertragung und wahrscheinlich das, was Sie wollen. Diese sind jedoch normalerweise eingeschränkt und nur verfügbar, wenn Sie die Zone steuern. Normalerweise führen Sie eine Zonenübertragung direkt vom autorisierenden Server (@ ns1.google.com unten) und häufig von einem Nameserver durch, der möglicherweise nicht veröffentlicht wird (einem Stealth-Nameserver).
# This will return "Transfer failed"
dig @ns1.google.com google.com axfr
Wenn Sie die Kontrolle über die Zone haben, können Sie sie so einrichten, dass Übertragungen abgerufen werden, die mit einem TSIG-Schlüssel geschützt sind. Dies ist ein gemeinsames Geheimnis, das der Client an den Server senden kann, um die Übertragung zu autorisieren.
Ich habe Joshs Antwort verbessert . Ich habe festgestellt, dass
dig
nur Einträge angezeigt werden, die bereits im Cache des abgefragten Nameservers vorhanden sind. Daher ist es besser, einen autorisierenden Nameserver aus der SOA zu ziehen (anstatt sich auf den Standard-Nameserver zu verlassen). Ich habe auch die Filterung von Platzhalter-IPs deaktiviert, da ich normalerweise mehr an der Richtigkeit des Setups interessiert bin.Das neue Skript verwendet ein
-x
Argument für die erweiterte Ausgabe und ein-s NS
Argument für die Auswahl eines bestimmten Nameservers:dig -x example.com
quelle
dig -t txt +nocmd $NS "$DOM" +noall +answer
(und ändern Sie die$DOM
), um die TXT-Datensätze einer Domäne zu überprüfen.Da es nicht möglich war, Zonentransfers durchzuführen, schrieb ich dieses kleine Bash-Skript
dg
:Jetzt verwende ich
dg example.com
, um eine schöne, saubere Liste von DNS-Einträgen zu erhalten oderdg example.com x
um eine Reihe anderer beliebter Subdomains einzuschließen.grep -vE "${wild_ips}"
filtert Einträge heraus, die das Ergebnis eines Platzhalter-DNS-Eintrags sein könnten, wie z* 10800 IN A 1.38.216.82
. Andernfalls würde ein Platzhaltereintrag den Eindruck erwecken, als gäbe es für jeden Datensatz Datensätze$COMMON_SUBDOMAN
.Hinweis: Dies hängt von
ANY
Abfragen ab, die von einigen DNS-Anbietern wie CloudFlare blockiert werden .quelle
dig -t txt +nocmd "$1" +noall +answer
(und Ändern"*.$1"
usw.), um die TXT-Einträge einer Domäne zu überprüfen.host -a
funktioniert gut, ähnlich wiedig any
.Z.B:
quelle
host -a
es kein nützlicher Befehl ist, es macht einfach nicht das, wonach das OP sucht.Eine Zonenübertragung ist der einzige Weg, um sicherzustellen, dass Sie über alle Subdomain-Datensätze verfügen. Wenn der DNS korrekt konfiguriert ist, sollten Sie normalerweise keine externe Zonenübertragung durchführen können.
Das scans.io- Projekt verfügt über eine Datenbank mit DNS-Einträgen, die heruntergeladen und nach Subdomains durchsucht werden können. Dazu müssen die 87 GB DNS-Daten heruntergeladen werden. Alternativ können Sie die Online-Suche der Daten unter https://hackertarget.com/find-dns-host-records/ durchführen.
quelle
Für Windows:
Möglicherweise müssen Sie den Status der DNS-Einträge Ihrer Domain überprüfen oder die Nameserver überprüfen, um festzustellen, welche Einträge die Server abrufen.
Starten Sie die Windows-Eingabeaufforderung, indem Sie zu Start> Eingabeaufforderung oder über Ausführen> CMD navigieren.
Geben Sie NSLOOKUP ein und drücken Sie die Eingabetaste. Der Standardserver ist auf Ihr lokales DNS eingestellt. Die Adresse ist Ihre lokale IP.
Legen Sie den DNS-Eintragstyp fest, nach dem Sie suchen möchten, indem Sie Folgendes eingeben
set type=##
und dann die Eingabetaste drücken. Sie können ANY, A, AAAA, A + AAAA, CNAME, MX, NS, PTR, SOA oder SRV als Datensatztyp verwenden.Geben Sie nun den Domainnamen ein, den Sie abfragen möchten, und drücken Sie die Eingabetaste. In diesem Beispiel verwenden wir Managed.com.
NSLOOKUP gibt nun die Datensatzeinträge für die von Ihnen eingegebene Domain zurück.
Sie können auch die Nameserver ändern, die Sie abfragen. Dies ist nützlich, wenn Sie die Einträge überprüfen, bevor sich DNS vollständig verbreitet hat. Um den Nameserver zu ändern, geben Sie server [Nameserver] ein. Ersetzen Sie [Nameserver] durch die Nameserver, die Sie verwenden möchten. In diesem Beispiel legen wir diese als NSA.managed.com fest.
Ändern Sie nach dem Ändern bei Bedarf den Abfragetyp (Schritt 3) und geben Sie eine neue neue Domain ein (Schritt 4).
Für Linux:
1) Überprüfen von DNS-Einträgen mit Dig Command Dig steht für Domain Information Groper und ist ein flexibles Tool zum Abfragen von DNS-Nameservern. Es führt DNS-Suchvorgänge durch und zeigt die Antworten an, die von den abgefragten Nameservern zurückgegeben wurden. Die meisten DNS-Administratoren verwenden dig, um DNS-Probleme aufgrund seiner Flexibilität, Benutzerfreundlichkeit und Klarheit der Ausgabe zu beheben. Andere Suchwerkzeuge haben tendenziell weniger Funktionen als dig.
2) Überprüfen von DNS-Einträgen mit dem NSlookup-Befehl Nslookup ist ein Programm zum Abfragen von Internetdomänennamenservern. Nslookup verfügt über zwei interaktive und nicht interaktive Modi.
Im interaktiven Modus kann der Benutzer Nameserver nach Informationen zu verschiedenen Hosts und Domänen abfragen oder eine Liste der Hosts in einer Domäne drucken.
Im nicht interaktiven Modus werden nur der Name und die angeforderten Informationen für einen Host oder eine Domain gedruckt. Es ist ein Netzwerkadministrationstool, mit dem sie DNS-Probleme überprüfen und beheben können.
3) Überprüfen von DNS-Einträgen mit Host Command host ist ein einfaches Dienstprogramm zum Durchführen von DNS-Suchvorgängen. Es wird normalerweise verwendet, um Namen in IP-Adressen umzuwandeln und umgekehrt. Wenn keine Argumente oder Optionen angegeben sind, druckt der Host eine kurze Zusammenfassung seiner Befehlszeilenargumente und -optionen.
quelle
Was Sie wollen, wird als Zonenübertragung bezeichnet . Sie können eine Zonenübertragung mit anfordern
dig -t axfr
.Eine Zone ist eine Domäne und alle Domänen darunter, die nicht an einen anderen Server delegiert sind.
Beachten Sie, dass Zonentransfers nicht immer unterstützt werden. Sie werden nicht bei der normalen Suche verwendet, sondern nur beim Replizieren von DNS-Daten zwischen Servern. Es gibt jedoch auch andere Protokolle, die dafür verwendet werden können (z. B. rsync over ssh). Das Offenlegen von Namen kann ein Sicherheitsrisiko darstellen, und das Generieren und Senden von Zonenübertragungsantworten kostet mehr als das Generieren und Senden von DNS-Lookups.
quelle
Es gibt keine einfache Möglichkeit, alle DNS-Einträge für eine Domain in einer Instanz abzurufen. Sie können beispielsweise nur bestimmte Datensätze anzeigen. Wenn Sie einen A-Datensatz für eine bestimmte Domain anzeigen möchten, können Sie den folgenden Befehl verwenden: dig a (Typ des Datensatzes) domain.com. Dies gilt auch für alle anderen Arten von Datensätzen, die Sie für diese Domain anzeigen möchten.
Wenn Sie mit der Befehlszeilenschnittstelle nicht vertraut sind, können Sie auch eine Site wie mxtoolbox.com verwenden. Dies ist ein sehr praktisches Tool zum Abrufen von Aufzeichnungen einer Domain.
Ich hoffe das beantwortet deine Frage.
quelle