首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Python中的客户端子网选项解析dns (edns)

用Python中的客户端子网选项解析dns (edns)
EN

Stack Overflow用户
提问于 2015-02-19 14:42:44
回答 2查看 2.3K关注 0票数 3

我正在寻找Python中的一个实现,它允许我使用DNS (EDNS)的扩展"client“来解析DNS地址。这个选项允许更好的DNS--内容传递系统的解析--最终,更快的互联网路由。在这里更好地解释了动机:http://www.afasterinternet.com/howitworks.htm

另一个名称是"vandergaast-edns-client-subnet“。

dig的一个实现可以在这里获得:https://www.gsic.uva.es/~jnisigl/dig-edns-client-subnet.html

我正在寻找一个类似的python实现。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-03 02:21:03

我是的开发人员/维护者。它被设计成在您的代码中用作dnspython的添加剂。我刚刚发布了2.0.0版(在做了你想做的事情之后),它使一切变得更容易

  1. pip install clientsubnetoption (为Python2和Python3工作)
  2. 导入clientsubnetoption及其所需的依赖项:导入dns导入客户端子网选项
  3. 用您想要的信息设置您的clientsubnetoption.ClientSubnetOption('1.2.3.4'):cso= ClientSubnetOption
  4. 创建DNS数据包:message= dns.message.make_query('google.com','A')
  5. 添加edns option:message.use_edns(options=cso)
  6. 使用message进行查询:r=dns.query.udp(消息,'8.8.8.8')
  7. 选项信息现在在r.options,可以有多个,因此您可能需要迭代它们来找到ClientSubnetOption对象。 对于r.options中的选项:如果是in (选项,ClientSubnetOption):#在这里通过

clientsubnetoption.py中的代码作为一个单元测试和一个支持edns-clientsubnet的测试工具,并不是因为您必须以这种方式使用它。

票数 4
EN

Stack Overflow用户

发布于 2015-02-19 14:47:47

存在一个python实现:它是dnspython (http://www.dnspython.org/)的扩展,可以在这里找到:https://github.com/opendns/dnspython-clientsubnetoption

  1. pip安装dnspython
  2. git从github克隆回购
  3. 使用以下命令: python clientsubnetoption.py (名称-服务器)(query>主机) -s (客户机-ip) -m 32
  4. 请注意,repo实际上并不打印结果。它只是一个测试器,所以它只会发出“成功”或“失败”。要获得实际结果,您需要修改python代码,以从DNS服务器打印响应。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28609181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档