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.