模組:dnspython
功能:支援所有的記錄型別
可以用於查詢、傳輸並動態更新zone資訊
支援tsig(事務簽名)驗證訊息和edns0(擴充套件dns)
安裝:1
dnspython提供乙個dns解析器類——resolver,使用query()方法來實現網域名稱的查詢功能模組網域名稱解析方法:
query()方法使用:
1
2
import
dns.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
import
dns.resolver
dom
=
raw_input
(
)
a
=
dns.resolver.query(dom,
'a'
)
# 指定查詢型別為a的記錄
for
a
in
a.response.answer:
# 通過response.answer方法獲取查詢回應資訊
for
b
in
a.items:
# 遍歷回應資訊
print
(b.address)
mx記錄查詢方法: 1
2
3
4
5
import
dns.resolver
dom
=
raw_input
(
)
mx
=
dns.resolver.query(dom,
'mx'
)
for
a
in
mx:
print
(
'mx 優先權:'
,a.preference,
'mail 交換器:'
,a.exchange)
ns記錄查詢方法:
1
2
3
4
5
6
import
dns.resolver
dom
=
raw_input
(
)
ns
=
dns.resolver.query(dom,
'ns'
)
for
a
in
ns.respinse.answer:
for
b
in
a.items:
print
(b.to_text())
cname記錄查詢方法: 1
2
3
4
5
6
import
dns.resolver
dom
=
raw_input
(
)
cname
=
dns.resolver.query(dom,
'cname'
)
for
a
in
cname.response.answer:
for
b
in
a.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...