Python - DNS 查詢



IP 地址轉換為人類可讀的格式或文字後,被稱為域名。域名到 IP 地址的轉換由 Python 模組**dnspython**管理。此模組還提供查詢 CNAME 和 MX 記錄的方法。

查詢“A”記錄

在下面的程式中,我們使用 dns.resolver 方法查詢域的 IP 地址。通常,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.

以上是一個示例輸出,並非確切的輸出。

廣告