Python - 从SQL数据库进行DNS查找

时间:2016-09-26 20:31:28

标签: python sql-server dns

我希望你能指出我正确的方向,我正在解决一个小问题。

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

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

  

非常感谢任何建议或指导。

非常感谢,

Westie5017

1 个答案:

答案 0 :(得分:0)

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

1] 一个伟大的python工具可以满足你的要求而且还有更多 scapy 。 例如:

>>> 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