美文网首页
python 发送dns查询请求

python 发送dns查询请求

作者: NoStory | 来源:发表于2022-07-26 01:26 被阅读0次

    一般将域名转换为ip的过程称之为dns解析,网络通信双方均需要知道对方的ip地址和应用端口,即必须知道ip地址和端口,而不是域名和端口。但无论是发送http请求还是通过socket直连通信,一般都只用到域名而不是使用IP。这是因为python像很多高级语言一样会自行处理dns解析问题。

    同样类似其它高级语言,为了加速dns解析速度会使用多级缓存,如hosts文件、应用缓存、系统缓存、各级域名服务器缓存等。但这些由于默认行为中这些缓存带来的不确定性甚至不可干预,会导致一些复杂场景的业务无法实现。例如流量分发、http dns、vpn、虚拟操作系统等场景均需要自行处理dns解析问题。

    python语言中,我们可以使用dnspython模块来实现自定义的DNS查询请求,由于该代码是直接发送DNS查询请求不会使用任何本地缓存,因此不会受到hosts文件、dns缓存的干扰,这是简单的示例代码

            import dns.resolver # pip install dnspython
            result = dns.resolver.query(host, 'A')
            for ipval in result:
                print('IP', ipval.to_text())
    

    相关文章

      网友评论

          本文标题:python 发送dns查询请求

          本文链接:https://www.haomeiwen.com/subject/lmjrlrtx.html