Учебники

Python — DNS Look-up

IP-адреса при переводе в удобочитаемые форматы или слова становятся известны как доменные имена. Перевод доменных имен в IP-адрес управляется модулем Python dnspython. Этот модуль также предоставляет методы для поиска записей CNAME и MX.

В поисках записи «А»

В приведенной ниже программе мы находим IP-адрес для домена с помощью метода dns.resolver. Обычно это сопоставление между IP-адресом и доменным именем также называется записью «A».

import dnspython as dns
import dns.resolver

result = dns.resolver.query('tutorialspoint.com', 'A')
for ipval in result:
    print('IP', ipval.to_text())

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

('IP', u'94.130.81.180')

Нахождение значения CNAME

Запись CNAME, также известная как каноническая запись имени, является типом записи в системе доменных имен (DNS), используемой для сопоставления имени домена в качестве псевдонима для другого домена. Записи CNAME всегда указывают на другое доменное имя и никогда напрямую на IP-адрес. В методе запроса ниже мы указываем параметр CNAME, чтобы получить значение 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

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

cname target address: googlemail.l.google.com.

В поисках записи MX

Запись MX, также называемая записью почтового обменника, представляет собой запись ресурса в системе доменных имен, которая указывает почтовый сервер, отвечающий за прием сообщений электронной почты от имени домена получателя. Он также устанавливает значение предпочтения, используемое для определения приоритетов доставки почты, если доступно несколько почтовых серверов. Подобно вышеприведенным программам, мы можем найти значение для MX-записи, используя параметр «MX» в методе запроса.

result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
    print ' MX Record:', exdata.exchange.text()

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

MX Record:	ASPMX.L.GOOGLE.COM.
MX Record:	ALT1.ASPMX.L.GOOGLE.COM.
MX Record:	ALT2.ASPMX.L.GOOGLE.COM.

Выше приведен пример вывода, а не точный.