一名爬蟲工程師的運維入門之路:dnspython學習筆記

  • 大家是否跟我同樣,不知道什麼是DNS,在這裏,首先普及一下什麼是DNS
    DNS(Domain Name System,域名系統),萬維網上做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。經過域名,最終獲得該域名對應的IP地址的過程叫作域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。在RFC文檔中RFC 2181對DNS有規範說明,RFC 2136對DNS的動態更新進行說明,RFC 2308對DNS查詢的反向緩存進行說明。
  • dnspython模塊簡介python

    dnspython是Python實現的一個DNS工具包,它支持幾乎全部的記錄類型,可用於查詢、傳輸並動態更新ZONE信息,同時支持TSIG驗證信息和EDNS0。在系統管理方面,咱們能夠利用它的查詢功能來實現DNS服務監控及解析結果的校驗,能夠代替nslookup和dig工具。

    2.方法:數據庫

  • A:查詢域名的IP源碼:緩存

    domain = input('請輸入域名地址:')
    
    A = dns.resolver.query(domain, 'A')
    for i in A.response.answer:
        for j in i.items:
            print(j.address)
  • MX:郵件交換記錄,定義郵件服務器的域名源碼:服務器

    domain = input('請輸入域名地址:')
    MX = dns.resolver.query(domain, 'MX')
    for i in MX:
        print('MX preference=', i.preference, 'mail exchanger=',             i.exchange)
  • NS:標記區域的域名服務器及受權子域dom

    print(dns.resolver.query('baidu.com'), 'NS')
  • CNAME:別名記錄,實現域名間的映射(方法同上)
  • PTR:反向解析,與A相反,將IP轉化爲域名(方法同上)
  • SOA:SOA標記,一個起始受權區的定義(方法同上)
相關文章
相關標籤/搜索