有没有一个python模块和nslookup做同样的事情?我计划使用nslookup来挖掘一些关于要报废的URL的域的信息。我知道我可以使用os.sys来调用nslookup,但我只是想知道是否已经有一个python模块来实现这一点。提前感谢!
发布于 2013-11-13 16:37:04
我使用了以下代码:
import socket
ip_list = []
ais = socket.getaddrinfo("www.yahoo.com",0,0,0,0)
for result in ais:
ip_list.append(result[-1][0])
ip_list = list(set(ip_list))或者使用这样的理解:
ip_list = list({addr[-1][0] for addr in socket.getaddrinfo(name, 0, 0, 0, 0)})发布于 2013-02-18 08:40:19
您需要使用DNSPython
import dns.resolver
answers = dns.resolver.query('dnspython.org', 'MX')
for rdata in answers:
print 'Host', rdata.exchange, 'has preference', rdata.preference发布于 2015-08-01 01:13:48
问题是socket.gethostbyname()只返回一个ip地址。nslookup会返回尽可能多的内容。我使用:
import subprocess
process = subprocess.Popen(["nslookup", "www.google.com"], stdout=subprocess.PIPE)
output = process.communicate()[0].split('\n')
ip_arr = []
for data in output:
if 'Address' in data:
ip_arr.append(data.replace('Address: ',''))
ip_arr.pop(0)
print ip_arr它将打印:
['54.230.228.101', '54.230.228.6', '54.230.228.37', '54.230.228.80', '54.230.228.41', '54.230.228.114', '54.230.228.54', '54.230.228.23']https://stackoverflow.com/questions/12297500
复制相似问题