Résilier. Exporter. Supprimer. Avec les preuves.
Aucun pistage. Juste le flux. S’abonner au RSS
Refbax — Sortie de secours

Cours en ligne développement informatique

Comment connaître les DNS d’un site avec python ?

📢 Image qui illustre un article sur le : fonction, type, dnspython, pouvez utiliser, enregistrements type, dns.resolver, dns.resolver.Resolver(), resolver.query(domain), [record.to_text(), print(get_dns_records("google.com")), print(get_dns_records("example.com")), print(get_dns_records("nonexistent.com")), dns.rdtypes.ANY.A.A,, dns.rdatatype.MX, dns.rdatatype.NS, resolver.query(domain,, dns.rdatatype.MX), print(get_mx_records("google.com")), alt3.aspmx.l.google.com.",, alt2.aspmx.l.google.com.",, alt1.aspmx.l.google.com.",, alt4.aspmx.l.google.com.",, alt5.aspmx.l.google.com."], print(get_mx_records("example.com")), mail.example.com."]

Pour connaître les DNS (Domain Name System) d’un site Web en Python, vous pouvez utiliser la bibliothèque dnspython et la fonction query.

Tout d’abord, il faut utiliser une bibliothèque qui permet de réaliser des requêtes DNS (Domain Name System). Une option possible est la bibliothèque dnspython. Pour l’installer, exécutez cette commande :

pip install dnspython

Voici un exemple de code qui montre comment faire pour connaître les DNS :

import dns.resolver

def get_dns_records(domain):
    resolver = dns.resolver.Resolver()
    response = resolver.query(domain)
    return [record.to_text() for record in response]

# Exemples d'utilisation
print(get_dns_records("google.com"))  # ["172.217.167.206", "172.217.167.174"]
print(get_dns_records("example.com"))  # ["93.184.216.34"]
print(get_dns_records("nonexistent.com"))  # []

La fonction query de dnspython envoie une requête DNS pour obtenir les enregistrements du type A (adresses IP) associés au domaine donné. Si des enregistrements du type A sont trouvés, la fonction retourne une liste d’objets dns.rdtypes.ANY.A.A, et vous pouvez utiliser la méthode to_text de chaque objet pour obtenir l’adresse IP sous forme de chaîne de caractères. Si aucun enregistrement du type A n’est trouvé, la fonction retourne une liste vide.

Notez que la fonction query de dnspython peut également être utilisée pour obtenir d’autres types d’enregistrements DNS, comme les enregistrements du type MX (serveurs de messagerie) ou du type NS (serveurs de noms). Vous pouvez utiliser la constante dns.rdatatype.MX ou dns.rdatatype.NS en tant que second argument de la fonction query pour obtenir ces types d’enregistrements. Par exemple :

import dns.resolver

def get_mx_records(domain):
    resolver = dns.resolver.Resolver()
    response = resolver.query(domain, dns.rdatatype.MX)
    return [record.to_text() for record in response]

# Exemples d'utilisation
print(get_mx_records("google.com"))  # ["30 alt3.aspmx.l.google.com.", "20 alt2.aspmx.l.google.com.", "10 alt1.aspmx.l.google.com.", "40 alt4.aspmx.l.google.com.", "50 alt5.aspmx.l.google.com."]
print(get_mx_records("example.com"))  # ["10 mail.example.com."]

Laisse un commentaire

Le désaccord est bienvenu, même vif. Les insultes, doxxing et données personnelles sont retirés.