Python DNS處理模組

2021-09-21 05:08:55 字數 4074 閱讀 9415

模組:dnspython

功能:支援所有的記錄型別

可以用於查詢、傳輸並動態更新zone資訊

支援tsig(事務簽名)驗證訊息和edns0(擴充套件dns)

安裝:1

dnspython提供乙個dns解析器類——resolver,使用query()方法來實現網域名稱的查詢功能模組網域名稱解析方法:

query()方法使用:

1

2

importdns.resolver

query(self,qname,rdtype=1,rdclass=1,tcp=false,source=none,raise_on_no_answer=true,source_port=0)

rdtype用來指定rr資源的型別,常用的有如下幾種:qname為查詢的網域名稱。

a記錄,將主機名轉換成ip位址

mx記錄,郵件交換記錄,用於定義郵件伺服器的網域名稱

cname記錄,別名記錄,實現網域名稱間的對映

ns記錄,標記區域的網域名稱伺服器及授權子域

ptr記錄,反向解析,與a記錄相反,將ip轉換成主機名

soa記錄,soa標記,乙個起始授權區的定義

rdclass用於指定網路型別,可選的值有:

in,預設為in

ch,hs,

tcp用於指定查詢是否啟用tcp協議

source和source_port指定查詢源位址與埠,預設查詢裝置ip和0

raise_on_no_answer用於指定當查詢無應答時,是否觸發異常,預設為true

a記錄查詢方法:

1

2

3

4

5

6

importdns.resolver

dom=raw_input()

a=dns.resolver.query(dom,'a')# 指定查詢型別為a的記錄

foraina.response.answer:# 通過response.answer方法獲取查詢回應資訊

forbina.items:# 遍歷回應資訊

print(b.address)

mx記錄查詢方法: 1

2

3

4

5

importdns.resolver

dom=raw_input()

mx=dns.resolver.query(dom,'mx')

forainmx:

print('mx 優先權:',a.preference,'mail 交換器:',a.exchange)

ns記錄查詢方法:

1

2

3

4

5

6

importdns.resolver

dom=raw_input()

ns=dns.resolver.query(dom,'ns')

forainns.respinse.answer:

forbina.items:

print(b.to_text())

cname記錄查詢方法: 1

2

3

4

5

6

importdns.resolver

dom=raw_input()

cname=dns.resolver.query(dom,'cname')

foraincname.response.answer:

forbina.items:

print(b.to_text())

dns網域名稱輪詢業務監控:

步驟:實現網域名稱的解析,獲取網域名稱所有的a記錄解析ip列表

對ip列表進行http級別的探測

python DNS處理模組

簡介 dnspython 是python實現的乙個dns工具包,利用其查詢功能來實現dns的服務監控及解析結果的校驗 安裝dnspython pip install dnspython使用常見的dns解析型別包括a mx ns cname 1 a記錄的查詢,例項如下 import dns.resol...

模組處理邏輯

由於在第一版詳細設計中,我們的模組處理邏輯部分做的比較簡陋,在第二版裡我們對模組處理邏輯進行了完善。如上圖,登入者開啟軟體後即需要進行登入,選擇身份並輸入登入者資訊 賬號及密碼 若輸入的資訊正確,則驗證通過,模組結束 若輸入的資訊錯誤則重新登入。如上圖,若登入者是初次使用該軟體,則需註冊,向系統輸入...

python os模組 程序處理

使用 os 執行作業系統命令 import os if os.name nt command dir else command ls l os.system command 命令通過作業系統的標準 shell 執行,並返回 shell 的退出狀態.需要注意的是在 windows 95 98 下,sh...