2016-09-26 53 views
1

我希望你能指出我在正確的方向,我有一個小問題。Python - DNS查詢從SQL數據庫

我想創建一個基本的網絡應用程序,執行DNS查詢來驗證一組特定的DNS記錄是否處於活動狀態。 DNS記錄都是A記錄,託管在基於SQL的CMDB上。

我是python的粉絲,寧願使用它,但我不知道從哪裏開始。我看使用情況如下:

任何意見或指導將不勝感激。

非常感謝,

Westie5017

回答

0

有幾個工具,哪一個是最好的取決於你的需要。

1]一個偉大的蟒蛇工具,做你問什麼,很多更是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