net_inetSourceAnalysis.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:Snakepit 作者: K4lium 项目源码 文件源码
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&nbsp;\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}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号