Python - DNS-Suche
Die IP-Adressen werden bei der Übersetzung in lesbare Formate oder Wörter als Domänennamen bezeichnet. Die Übersetzung von Domainnamen in IP-Adressen wird vom Python-Modul verwaltetdnspythonDieses Modul bietet auch Methoden zum Herausfinden von CNAME- und MX-Datensätzen.
'A'-Datensatz finden
Im folgenden Programm finden wir die IP-Adresse für die Domain mit der Methode dns.resolver. Normalerweise wird diese Zuordnung zwischen IP-Adresse und Domänenname auch als "A" -Datensatz bezeichnet.
import dnspython as dns
import dns.resolver
result = dns.resolver.query('tutorialspoint.com', 'A')
for ipval in result:
print('IP', ipval.to_text())
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
('IP', u'94.130.81.180')
CNAME-Wert finden
Ein CNAME-Eintrag, der auch als Canonical Name Record bezeichnet wird, ist ein Datensatztyp im Domain Name System (DNS), mit dem ein Domänenname als Alias für eine andere Domäne zugeordnet wird. CNAME-Einträge verweisen immer auf einen anderen Domainnamen und niemals direkt auf eine IP-Adresse. In der folgenden Abfragemethode geben wir den Parameter CNAME an, um den CNAME-Wert abzurufen.
import dnspython as dns
import dns.resolver
result = dns.resolver.query('mail.google.com', 'CNAME')
for cnameval in result:
print ' cname target address:', cnameval.target
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
cname target address: googlemail.l.google.com.
MX-Datensatz finden
Ein MX-Datensatz, der auch als Mail-Exchanger-Datensatz bezeichnet wird, ist ein Ressourceneintrag im Domain Name System, der einen Mail-Server angibt, der für das Akzeptieren von E-Mail-Nachrichten im Namen der Domain eines Empfängers verantwortlich ist. Außerdem wird der Voreinstellungswert für die Priorisierung der E-Mail-Zustellung festgelegt, wenn mehrere E-Mail-Server verfügbar sind. Ähnlich wie bei den obigen Programmen können wir den Wert für den MX-Datensatz mithilfe des Parameters 'MX' in der Abfragemethode ermitteln.
result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
print ' MX Record:', exdata.exchange.text()
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
MX Record: ASPMX.L.GOOGLE.COM.
MX Record: ALT1.ASPMX.L.GOOGLE.COM.
MX Record: ALT2.ASPMX.L.GOOGLE.COM.
Das Obige ist eine Beispielausgabe und nicht die genaue.