如何查找托管在 IP 地址上的所有主机?我已经检查了 Bing 的 API,但我认为他们不再提供免费的 API 密钥来使用 IP 地址进行查询。搜索前 2-3 页后,Google 可能会阻止。我也在看shodanhq api,但我认为 shodan 不支持反向查找!
我在 Windows 上使用 python 2.7。
如何查找托管在 IP 地址上的所有主机?我已经检查了 Bing 的 API,但我认为他们不再提供免费的 API 密钥来使用 IP 地址进行查询。搜索前 2-3 页后,Google 可能会阻止。我也在看shodanhq api,但我认为 shodan 不支持反向查找!
我在 Windows 上使用 python 2.7。
可能这个脚本适合你:
import urllib2
import socket
import sys
import re
class reverseip(object):
def __init__(self, server='http://www.ip-adress.com/reverse_ip/'):
t= """ Tool made by: LeXeL lexelEZ[at]gmail[dot]com """
print t
try:
self.site = raw_input("Enter site to start scan: ")
self.fileout = raw_input("Enter logfile name: ")
except KeyboardInterrupt:
print "\n\nError: Aborted"
sys.exit(1)
self.server = server
self.ua = "Mozilla/5.0 (compatible; Konqueror/3.5.8; Linux)"
self.h = {"User-Agent": self.ua}
self.write = True
try:
outp = open(self.fileout, "w+")
outp.write(t)
outp.close()
except IOError:
print '\n Failed to write to %s' % (self.fileout)
print '\n Continuing without writing'
self.write = False
def url(self):
r = urllib2.Request('%s%s' % (self.server, self.site), headers=self.h)
f = urllib2.urlopen(r)
self.source = f.read()
def getip(self):
try:
ip = socket.gethostbyname(self.site)
except IOError, e:
print "Error: %s " %(e)
else:
print "\t\nScanning ip %s \n\n" %(ip)
def whoami(self):
found = re.findall("href=\"/whois/\S+\">Whois</a>]",self.source)
for i in found:
i = i.replace("href=\"/whois/","")
i = i.replace("\">Whois</a>]","")
print "\t%s " % (i)
if self.write:
try:
outp = open(self.fileout, "a")
outp.write('%s\n' % (i))
outp.close()
except IOError:
print '\n Failed to write'
sys.exit(1)
if __name__ == '__main__':
p = reverseip()
p.url()
p.getip()
p.whoami()
通过微小的修改,您可以获得您想要的......告诉我你的想法,如果我能提供更多帮助,请告诉我......谢谢!