Python - DNS Araması
IP adresleri, insan tarafından okunabilir biçimlere veya kelimelere çevrildiğinde alan adları olarak bilinir. Alan adlarının IP adresine çevrilmesi python modülü tarafından yönetilir.dnspythonBu modül ayrıca CNAME ve MX kayıtlarını bulmak için yöntemler sağlar.
'A' Kaydını Bulmak
Aşağıdaki programda dns.resolver yöntemini kullanarak etki alanı için ip adresini buluyoruz. Genellikle IP adresi ile alan adı arasındaki bu eşleştirme, 'A' kaydı olarak da bilinir.
import dnspython as dns
import dns.resolver
result = dns.resolver.query('tutorialspoint.com', 'A')
for ipval in result:
print('IP', ipval.to_text())
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
('IP', u'94.130.81.180')
CNAME Değerini Bulmak
Kanonik Ad Kaydı olarak da bilinen CNAME kaydı, Alan Adı Sisteminde (DNS) bir alan adını başka bir alan için takma ad olarak eşlemek için kullanılan bir kayıt türüdür. CNAME kayıtları her zaman başka bir alan adına işaret etmez ve hiçbir zaman doğrudan bir IP adresine işaret etmez. Aşağıdaki sorgu yönteminde, CNAME değerini almak için CNAME parametresini belirtiyoruz.
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
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
cname target address: googlemail.l.google.com.
MX Kaydını Bulma
Posta alışverişi kaydı olarak da adlandırılan bir MX kaydı, Alan Adı Sisteminde bir alıcının etki alanı adına e-posta iletilerini kabul etmekten sorumlu bir posta sunucusunu belirten bir kaynak kaydıdır. Ayrıca, birden çok posta sunucusu varsa, posta dağıtımına öncelik vermek için kullanılan tercih değerini de ayarlar. Yukarıdaki programlara benzer şekilde, sorgu yönteminde 'MX' parametresini kullanarak MX kaydının değerini bulabiliriz.
result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
print ' MX Record:', exdata.exchange.text()
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
MX Record: ASPMX.L.GOOGLE.COM.
MX Record: ALT1.ASPMX.L.GOOGLE.COM.
MX Record: ALT2.ASPMX.L.GOOGLE.COM.
Yukarıdakiler örnek bir çıktıdır ve kesin olanı değildir.