Python - Recherche DNS
Les adresses IP, lorsqu'elles sont traduites dans des formats ou des mots lisibles par l'homme, deviennent des noms de domaine. La traduction des noms de domaine en adresse IP est gérée par le module pythondnspythonCe module fournit également des méthodes pour trouver les enregistrements CNAME et MX.
Recherche d'un enregistrement 'A'
Dans le programme ci-dessous, nous trouvons l'adresse IP du domaine en utilisant la méthode dns.resolver. Habituellement, ce mappage entre l'adresse IP et le nom de domaine est également appelé enregistrement «A».
import dnspython as dns
import dns.resolver
result = dns.resolver.query('tutorialspoint.com', 'A')
for ipval in result:
print('IP', ipval.to_text())
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
('IP', u'94.130.81.180')
Recherche de la valeur CNAME
Un enregistrement CNAME également connu sous le nom d'enregistrement de nom canonique est un type d'enregistrement dans le système de noms de domaine (DNS) utilisé pour mapper un nom de domaine en tant qu'alias pour un autre domaine. Les enregistrements CNAME pointent toujours vers un autre nom de domaine et jamais directement vers une adresse IP. Dans la méthode de requête ci-dessous, nous spécifions le paramètre CNAME pour obtenir la valeur CNAME.
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
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
cname target address: googlemail.l.google.com.
Recherche d'un enregistrement MX
Un enregistrement MX également appelé enregistrement de messagerie est un enregistrement de ressource dans le système de noms de domaine qui spécifie un serveur de messagerie chargé d'accepter les messages électroniques au nom du domaine d'un destinataire. Il définit également la valeur de préférence utilisée pour donner la priorité à la remise du courrier si plusieurs serveurs de messagerie sont disponibles. Semblable aux programmes ci-dessus, nous pouvons trouver la valeur de l'enregistrement MX en utilisant le paramètre «MX» dans la méthode de requête.
result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
print ' MX Record:', exdata.exchange.text()
Lorsque nous exécutons le programme ci-dessus, nous obtenons la sortie suivante -
MX Record: ASPMX.L.GOOGLE.COM.
MX Record: ALT1.ASPMX.L.GOOGLE.COM.
MX Record: ALT2.ASPMX.L.GOOGLE.COM.
Ce qui précède est un exemple de sortie et non l'exact.