python DNS處理模組dnspython

來源:互聯網
上載者:User

dnspython是python實現的一個DNS的工具包,可以用於查詢、傳輸並動態 更新ZONE資訊,支援TSIG(事務簽名)驗證訊息和EDNS0(擴充DNS)。在系統管理方面,我們可以利用查詢功能來實現DNS服務監控以及解析結果的校正。

dnspython模組的安裝

wget http://www.dnspython.org/kits/1.9.4/dnspython-1.9.4.tar.gz
tar -zxvf dnspython-1.9.4.tar.gz
cd dnspython-1.9.4
python setup.py install

dnspython提供大量關於DNS的處理方法,最常用的是網域名稱查詢。dnspython提供了一個DNS解析類resolver,使用它的query方法來實現網域名稱的查詢功能。
query(self, qname, rdtype = 1, rdclass = 1, tcp = False, source = None, raise_on_no_answer = True, source_port = 0)
qname參數為查詢的網域名稱,rdtype參數用來指定RR資源。
A記錄:將主機名稱轉換成IP地址
MX記錄:郵件交換記錄,定義郵件伺服器的網域名稱
CNAME記錄:別名記錄,實現網域名稱間的映射
NS記錄:標記地區的網域名稱伺服器及授權子域
PTR記錄:反向解析,與A記錄相反,將IP地址轉換為主機名稱
SOA記錄:SOA標記,一個起始授權區的定義

rdclass指定網路類型,IN,CH,HS, IN預設
tcp指定查詢是否啟用TCP協議(預設不啟用)
source 與source_port指定查詢源的地址與連接埠,預設為查詢裝置的IP地址和0
raise_on_no_answer指定查詢無應答時是否觸發異常,預設為True

A記錄
`
import dns.resolver
domain = raw_input(‘Please input an domain:’)
A = dns.resolver.query(domain, ‘A’)
for i in A.response.answer:
for j in i.items:
print j.address

`
MX記錄


import dns.resolver
domain = raw_input('Please input a domain')
MX = dns.resolver.query(domain, 'MX')
for i in MX:
print 'MX preference =', i.preference, 'mail exchanger =', i.exchange

NS記錄

import dns.resolver
domain = raw_input('Please input a domain')
NS = dns.resolver.query(domain, 'NS')
for i in NS.response.answer:
for j in i.items:
print j.to_text()

只限輸入頂層網域

CNAME記錄

import dns.resolver
domain = raw_input('please input a domain:')
CNAME = dns.resolver.query(domain,'CNAME')
for i in CNAME.response.answer:
for j in i.items:
print j.to_text()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.