[英]Python - DNS lookup from SQL database
我希望你能指出我正確的方向,我有一個小問題。
我想創建一個基本的Web應用程序來執行DNS查詢,以驗證一組特定的DNS記錄是否處於活動狀態。 DNS記錄都是A記錄,並托管在基於SQL的CMDB上。
我是python的粉絲,我更喜歡使用它,但我不知道從哪里開始。 我正在看的用例如下:
- 瀏覽到http://hostname/pythonDnsTool.html
- 單擊[運行查詢]按鈕
- 腳本查詢[DnsARecord]表以驗證是否存在dnsNames列表
- 完成后, http://hostname/pythonDnsTool.html返回查詢域列表,其中包含YES或NO
任何建議或指導將不勝感激。
非常感謝,
Westie5017
有一些工具,哪一個最好取決於您的需求。
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="")))
但同樣,這只是你可以做的事情的一個最小例子。 有關更多信息,請查看: 此處和此處 (scapy的一般文檔)
特別是對於DNS , 請看這里你可以找到很多例子。
2]或者您可以使用內置socket
模塊:
import socket
info = socket.getaddrinfo('a_domain', a_port)
socket.gethostbyname('a_domain') # but this will give only the ip
3]最后你可以使用dnspython 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.