Python DNS查找

將IP地址轉換為可讀格式或單詞後,便稱為功能變數名稱。功能變數名稱到IP地址的轉換由python模組dnspython管理。該模組還提供了查找CNAME和MX記錄的方法。

1. 查找“ A”記錄

在下面的程式中,我們使用dns.resolver方法找到該域的IP地址。通常,IP地址和功能變數名稱之間的這種映射也稱為“A”記錄。

import dnspython as dns
import dns.resolver

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

運行上面示例代碼,得到以下結果:

('IP', u'112.124.103.85')

2. 查找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.

3. 查找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.

以上是示例輸出,而不是確切的輸出。


上一篇: Python IP地址 下一篇: Python路由