【Python与网络4】

使用dnspython解析DNS

dnspython模块介绍

dnspython是Python实现的一个DNS工具集,它支持几乎所有的记录类型,可以用于查询、传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。使用dnspython可以代替Linux命令行下的nslookup以及dig等工具

dnspython的安装

pip install dnspython

使用dnspython进行域名解析

在所有API中,最常使用的是域名查询。dnspython提供了一个DNS解析类resolver,使用它的query方法可以实现域名的查询功能。

dns.resolver.query(qname, rdtype=1, rdclass=1, tcp=False, source=None, raise_on_no_answer=True, source_port=0)

query方法各参数的含义如下:

  • qname:查询的域名
  • rdtype:指定RR资源
  • rdclass:网络类型
  • tcp:指定查询是否启用tcp协议
  • source:查询源的地址
  • source_port:查询源的端口
  • raise_on_no_answer:指定查询无应答时是否触发异常,默认为True
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文主要整合了《Python自动化运维:技术与最佳实践》与本风2的博客“DNS解析过程及类型”的内容,并对书中程序...
    think_lonely阅读 4,494评论 0 2
  • DNS处理模块dnspython下载地址http://www.dnspython.org/kits/1.12.0/...
    SkTj阅读 3,174评论 0 1
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,771评论 0 10
  • 网络 理论模型,分为七层物理层数据链路层传输层会话层表示层应用层 实际应用,分为四层链路层网络层传输层应用层 IP...
    FlyingLittlePG阅读 813评论 0 0
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,565评论 0 7