日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python学习笔记-DNS处理模块dnspython

發布時間:2025/4/16 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习笔记-DNS处理模块dnspython 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

DNS處理模塊dnspython

? ??dnspython是python實現的一個DNS工具包,它支持幾乎所有的記錄類型,可以用于查詢、傳輸并動態更新ZONE信息,同時支持TSIG(事務簽名)驗證消息和EDNS0(擴展DNS)。

在系統管理方面,我們可以利用其查詢功能來實現DNS服務監控以及解析結果的校驗,可以替代nslookup和dig等工具,輕松做到與現有平臺的整合。

? ? 下載dnspython模塊

[root@kurol?~]#?python3?-m?easy_install?-i?http://pypi.douban.com/simple/?dnspython

????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標記,一個起始授權區的定義


????常見的解析類型示例:

? ? ? ??A記錄(實現A記錄查詢方法源碼):??

??[root@kurol?pkg1]#?vim?dnsa.py#!/usr/bin/python3 #import?dns.resolverdomain?=?input('Please?input?an?domain:?')????#輸入域名地址 A?=?dns.resolver.query(domain,?'A')?????#指定查詢類型為A記錄 for?i?in?A.response.answer:?????#通過response.answer方法獲取查詢回應信息???? for?j?in?i.items:???#遍歷回應信息????????print?(j.address)[root@kurol?pkg1]#?python3?dnsa.py?Please?input?an?domain:?www.google.com93.46.8.89


????? ? MX記錄(實現MX記錄查詢方法源碼):

[root@kurol?pkg1]#?vim?mxdns.py#!/usr/bin/python3 #import?dns.resolverdomain?=?input('Please?input?an?domain:?')?#輸入域名地址 MX?=?dns.resolver.query(domain,?'MX')?#指定查詢類型為MX記錄 for?i?in?MX:?#通過response.answer方法獲取查詢回應信息????print?('MX?preference?=?',?i.preference,?'main?exchanger?=?',?i.exchange)[root@kurol?pkg1]#?python3?mxdns.py? Please?input?an?domain:?baidu.com MX?preference?=?20?main?exchanger?=?mx50.baidu.com. MX?preference?=?10?main?exchanger?=?mx.n.shifen.com. MX?preference?=?20?main?exchanger?=?mx1.baidu.com. MX?preference?=?20?main?exchanger?=?jpmx.baidu.com.


????? ??NS記錄(實現NS記錄查詢方法源碼):

[root@kurol?pkg1]#?vim?nsdns.py#!/usr/bin/python3#import?dns.resolverdomain?=?input('Please?input?an?domain:?')?#輸入域名地址 ns?=?dns.resolver.query(domain,?'NS')?#指定查詢類型為NS記錄 for?i?in?ns.response.answer:?#通過response.answer方法獲取查詢回應信息???? for?j?in?i.items:?#遍歷回應信息????????print?(j.to_text())[root@kurol?pkg1]#?python3?nsdns.py? Please?input?an?domain:?qq.comn s3.qq.com. ns4.qq.com. ns1.qq.com. ns2.qq.com.


????? ??CNAME記錄(實現CNAME記錄查詢方法源碼):

[root@kurol?pkg1]#?vim?cnamedns.py#!/usr/bin/python3#import?dns.resolverdomain?=?input('Please?input?an?domain:?')?#輸入域名地址 cname?=?dns.resolver.query(domain,?'CNAME')?#指定查詢類型為CNAME記錄 for?i?in?ns.response.answer:?#通過response.answer方法獲取查詢回應信息???? for?j?in?i.items:?#遍歷回應信息print?(j.to_text())


轉載于:https://blog.51cto.com/kurolz/1935039

總結

以上是生活随笔為你收集整理的Python学习笔记-DNS处理模块dnspython的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。