def _ipVoid(self, ipInput):
httplib2.debuglevel = 4
conn = urllib2.urlopen("http://ipvoid.com/scan/" + ipInput, timeout=60)
content2String = conn.read()
rpNotFound = re.compile('<h1>Report\snot\sfound<\/h1>', re.IGNORECASE)
rpdFindNotFound = re.findall(rpNotFound, content2String)
# Report not found -> exit
if rpdFindNotFound:
log.info("ipvoid.com: Report not found")
return {"ip" : ipInput, "ipResult" : {"BlacklistStatus":"Report not found"}}
rpd = re.compile('title="Detected"\s\/>\s \s<a.rel=\"nofollow\"\shref="(.{6,200})\"\stitle', re.IGNORECASE)
rpdFind = re.findall(rpd, content2String)
rpdSortBlacklist = rpdFind
rpd = re.compile('label-.*\">(.+)\<\/span\>\<\/td\>\<\/tr\>', re.IGNORECASE)
rpdFind = re.findall(rpd, content2String)
rpdSortBlacklistStatus = rpdFind
rpd = re.compile('<tr><td>ISP<\/td><td>(.+)<\/td\>\<\/tr\>', re.IGNORECASE)
rpdFind = re.findall(rpd, content2String)
rpdSortISP = rpdFind
rpd = re.compile('Country\sCode</td><td><img.+alt="Flag"\s\/>.(.+)<\/td\>\<\/tr\>', re.IGNORECASE)
rpdFind = re.findall(rpd, content2String)
rpdSortCountry = rpdFind
ipResult = {}
if "BLACKLISTED" in rpdSortBlacklistStatus[0]:
ipResult["BlacklistStatus"] = rpdSortBlacklistStatus[0]
self.hitcount += 1
blacklist = []
for j in rpdSortBlacklist:
blacklist.append({"Blacklist" : 'IP is listed in blacklist at: ' + j})
self.hitcount += 1
if blacklist:
ipResult["Blacklists"] = blacklist
else:
ipResult["BlacklistStatus"] = rpdSortBlacklistStatus[0]
if rpdSortISP:
ipResult["ISP"] = rpdSortISP[0]
else:
ipResult["ISP"] = 'No ISP listed'
if rpdSortCountry:
ipResult["CountryCode"] = rpdSortCountry[0].strip()
else:
ipResult["CountryCode"] = "No Country listed"
return {"ip" : ipInput, "ipResult" : ipResult}
评论列表
文章目录