【问题标题】:Python - DNS lookup from SQL databasePython - 从 SQL 数据库中查找 DNS
【发布时间】:2016-09-26 20:31:27
【问题描述】:

我希望你能就我遇到的一个小问题指出正确的方向。

我想创建一个基本的 Web 应用程序来执行 DNS 查询以验证一组特定的 DNS 记录是否处于活动状态。 DNS 记录都是 A 记录,托管在基于 SQL 的 CMDB 上。

我是 python 的粉丝并且更喜欢使用它,但我不知道从哪里开始。我正在查看的用例如下:

任何建议或指导将不胜感激。

非常感谢,

Westie5017

【问题讨论】:

    标签: python sql-server dns


    【解决方案1】:

    有一些工具,哪个最好取决于您的需求。

    1] scapy 是一款出色的 Python 工具,可以满足您的要求,而且功能更多。 例如:

    >>> packet = DNSQR()
    >>> packet.show()
    ###[ DNS Question Record ]###
      qname= '.'
      qtype= A
      qclass= IN
    

    如您所见,它使您能够以高水平制作数据包。 例如,如果您想发送一个简单的 DNS 查询并获得回复,您可以这样做:

    sr1(IP(dst="some_ip")/UDP()/DNS(rd=1,qd=DNSQR(qname="")))
    

    但这只是您可以做的事情的一个最小示例。 有关更多信息,请查看: herehere(scapy 的通用文档)

    特别是对于 DNS,请查看 here,您可以在其中找到很多示例。

    2] 或者,您可以使用内置的socket 模块:

    import socket
    info = socket.getaddrinfo('a_domain', a_port)
    socket.gethostbyname('a_domain') # but this will give only the ip
    

    3]终于可以使用dnspython了。

    【讨论】:

      猜你喜欢
      • 2016-07-27
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2012-08-07
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多