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

模糊阿米

我正在寻找Python中的实现,该实现将允许我使用DNS(EDNS)“客户端子选项”扩展名解析DNS地址。此选项可以为内容交付系统提供更好的DNS解析-最终,可以实现更快的Internet路由。可以在这里更好地解释动机:http : //www.afasterinternet.com/howitworks.htm

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

此处提供了dig的实现:https : //www.gsic.uva.es/~jnisigl/dig-edns-client-subnet.html

我正在寻找一个可以实现相同功能的python实现。

裂缝

我是dnspython-clientsubnet的开发人员/维护人员。它旨在用作代码中的dnspython添加剂。我刚刚发布了2.0.0版(尝试完成您想要的操作后),这使一切变得更加轻松

  1. pip install clientsubnetoption (适用于Python2和Python3)
  2. clientsubnetoption您需要的导入和依赖关系:

    import dns
    import clientsubnetoption
    
  3. ClientSubnetOption使用所需的信息设置您的:

    cso = clientsubnetoption.ClientSubnetOption('1.2.3.4')
    
  4. 创建您的DNS数据包:

    message = dns.message.make_query('google.com', 'A')
    
  5. 添加edns选项:

    message.use_edns(options=[cso])
    
  6. 使用message让您的查询:

    r = dns.query.udp(message, '8.8.8.8')
    
  7. 选项信息现在r.options可用并且可以有多个,因此您可能需要遍历它们以找到ClientSubnetOption对象。

    for options in r.options:
        if isinstance(options, ClientSubnetOption):
            # do stuff here
            pass
    

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

在专用子网中运行Filezilla客户端

来自分类Dev

使用主机文件添加条目DNS客户端解析器缓存

来自分类Dev

使用suds的python webservice客户端中的错误

来自分类Dev

Docker:子网客户端无法ping其他子网

来自分类Dev

在firewalld中设置规则,以允许同一VPN子网中的客户端进行通信

来自分类Dev

如何强制特定客户端使用DNS?

来自分类Dev

无法ping存在于同一子网中的客户端

来自分类Dev

无法解析使用Python / Django创建的客户端JSON对象

来自分类Dev

无法使用 python 解析 boto3 客户端 json 响应

来自分类Dev

如何使用Apollo Graphql React客户端访问本地解析器中的获取策略

来自分类Dev

在客户端上的SelectItem中禁用过滤选项

来自分类Dev

在客户端上的SelectItem中禁用过滤选项

来自分类Dev

为dnsmasq中的客户端分配特定的DHCP选项

来自分类Dev

聊天中的Python客户端

来自分类Dev

解析节点js中的oauth客户端令牌

来自分类Dev

解析请求中的响应主体并返回给客户端

来自分类Dev

在google bigquery中,如何使用google python客户端使用javascript UDF

来自分类Dev

子网在客户端PC上的作用或目的是什么?

来自分类Dev

从不同的子网连接到连接的OpenVPN客户端

来自分类Dev

OpenVPN - 无法连接到新子网上的客户端

来自分类Dev

openwrt路由器上的iptables:从同一子网中的客户端记录到主机的连接

来自分类Dev

带有MacOS X客户端以及本地和远程网络中相同子网的OpenVPN

来自分类Dev

如何使用SKPSMTPMessage发送将在电子邮件客户端中解析为正确的电子邮件?

来自分类Dev

允许子网络使用父网络进行Internet访问-但不显示父网络客户端

来自分类Dev

允许子网络使用父网络进行Internet访问-但不显示父网络客户端

来自分类Dev

使用2个相同子网时,OpenVPN客户端无法访问OpenVPN服务器端LAN

来自分类Dev

使用本地DNS路由到子网

来自分类Dev

使用Python客户端在SQL Server中执行存储过程

Related 相关文章

  1. 1

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

  2. 2

    在专用子网中运行Filezilla客户端

  3. 3

    使用主机文件添加条目DNS客户端解析器缓存

  4. 4

    使用suds的python webservice客户端中的错误

  5. 5

    Docker:子网客户端无法ping其他子网

  6. 6

    在firewalld中设置规则,以允许同一VPN子网中的客户端进行通信

  7. 7

    如何强制特定客户端使用DNS?

  8. 8

    无法ping存在于同一子网中的客户端

  9. 9

    无法解析使用Python / Django创建的客户端JSON对象

  10. 10

    无法使用 python 解析 boto3 客户端 json 响应

  11. 11

    如何使用Apollo Graphql React客户端访问本地解析器中的获取策略

  12. 12

    在客户端上的SelectItem中禁用过滤选项

  13. 13

    在客户端上的SelectItem中禁用过滤选项

  14. 14

    为dnsmasq中的客户端分配特定的DHCP选项

  15. 15

    聊天中的Python客户端

  16. 16

    解析节点js中的oauth客户端令牌

  17. 17

    解析请求中的响应主体并返回给客户端

  18. 18

    在google bigquery中,如何使用google python客户端使用javascript UDF

  19. 19

    子网在客户端PC上的作用或目的是什么?

  20. 20

    从不同的子网连接到连接的OpenVPN客户端

  21. 21

    OpenVPN - 无法连接到新子网上的客户端

  22. 22

    openwrt路由器上的iptables:从同一子网中的客户端记录到主机的连接

  23. 23

    带有MacOS X客户端以及本地和远程网络中相同子网的OpenVPN

  24. 24

    如何使用SKPSMTPMessage发送将在电子邮件客户端中解析为正确的电子邮件?

  25. 25

    允许子网络使用父网络进行Internet访问-但不显示父网络客户端

  26. 26

    允许子网络使用父网络进行Internet访问-但不显示父网络客户端

  27. 27

    使用2个相同子网时,OpenVPN客户端无法访问OpenVPN服务器端LAN

  28. 28

    使用本地DNS路由到子网

  29. 29

    使用Python客户端在SQL Server中执行存储过程

热门标签

归档