Python - wyszukiwanie DNS
Adresy IP po przetłumaczeniu na formaty lub słowa czytelne dla człowieka stają się nazywane nazwami domen. Tłumaczeniem nazw domen na adres IP zarządza moduł PythondnspythonTen moduł zapewnia również metody wyszukiwania rekordów CNAME i MX.
Znajdowanie rekordu „A”
W poniższym programie adres IP dla domeny wyszukujemy metodą dns.resolver. Zwykle to mapowanie między adresem IP a nazwą domeny jest również znane jako rekord „A”.
import dnspython as dns
import dns.resolver
result = dns.resolver.query('tutorialspoint.com', 'A')
for ipval in result:
print('IP', ipval.to_text())
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
('IP', u'94.130.81.180')
Znajdowanie wartości CNAME
Rekord CNAME, znany również jako rekord nazwy kanonicznej, jest rodzajem rekordu w systemie nazw domenowych (DNS) używanym do mapowania nazwy domeny jako aliasu dla innej domeny. Rekordy CNAME zawsze wskazują inną nazwę domeny, a nigdy bezpośrednio adres IP. W poniższej metodzie zapytania określamy parametr CNAME, aby uzyskać wartość 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
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
cname target address: googlemail.l.google.com.
Znajdowanie rekordu MX
Rekord MX, zwany także rekordem wymiany poczty, to rekord zasobu w systemie nazw domenowych, który określa serwer pocztowy odpowiedzialny za przyjmowanie wiadomości e-mail w imieniu domeny adresata. Ustawia również wartość preferencji używaną do priorytetyzowania dostarczania poczty, jeśli dostępnych jest wiele serwerów pocztowych. Podobnie jak w powyższych programach, możemy znaleźć wartość rekordu MX za pomocą parametru 'MX' w metodzie zapytania.
result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
print ' MX Record:', exdata.exchange.text()
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
MX Record: ASPMX.L.GOOGLE.COM.
MX Record: ALT1.ASPMX.L.GOOGLE.COM.
MX Record: ALT2.ASPMX.L.GOOGLE.COM.
Powyższe jest przykładowym wyjściem, a nie dokładnym.