2012-06-19 86 views
3

我期待使用dnspython做在Python這樣的事情:如何從Python中的IP地址獲取NAPTR記錄?

dig @XXX.YYY.ZZZ.AAA -p 99 +short '1.1.1.1.1.1.1.1.1.1.1.e164.arpa' naptr 

我想dns.resolver.query將要走的路,但似乎嗆到的IP地址。

我的代碼:

Traceback (most recent call last): 
    File "...\src\dnslookup.py", line 12, in <module> 
    for rdata in dns.resolver.query('XXX.YYY.ZZZ.AAA', 'NAPTR') : 
    File "build\bdist.win-amd64\egg\dns\resolver.py", line 920, in query 
    File "build\bdist.win-amd64\egg\dns\resolver.py", line 856, in query 
dns.resolver.NXDOMAIN 
+2

以何種方式它嗆的IP? – sarnold

+0

添加代碼和錯誤的問題。 –

+0

它看起來像你在查詢你的域名服務器,而不是你的目標IP。 – oxc

回答

1

由於OXC指出的那樣,你的代碼查詢了XXX.YYY.ZZZ.AAA的NAPTR記錄是:從運行代碼

for rdata in dns.resolver.query('XXX.YYY.ZZZ.AAA', 'NAPTR') : 
print rdata.target 

輸出不等同於你的挖掘命令。

這裏是一個更符合您的dig命令代碼:

resolver = dns.resolver.Resolver() 
resolver.nameservers = ['XXX.YYY.ZZZ.AAA'] 
resolver.port = 99 

resolver.query('1.1.1.1.1.1.1.1.1.1.1.e164.arpa', 'NAPTR') 
# Need to confirm syntax for NAPTR query