Esempio n. 1
0
 def parser(self, response):
     npage = re.search('<A href="(.*?)"><b>Next page</b></a>', response)
     if npage:
         for item in self.get_subdomains(response):
             if is_domain(item):
                 self.subset.append(item)
         nurl = '{0}{1}'.format(self.site, npage.group(1))
         r = http_request_get(nurl, custom_cookie=self.cookie)
         time.sleep(3)
         self.parser(r.text)
     else:
         for item in self.get_subdomains(response):
             if is_domain(item):
                 self.subset.append(item)
Esempio n. 2
0
    def fetch_alexa_cn(self):
        """get subdomains from alexa.cn"""
        sign = self.get_sign_alexa_cn()
        if sign is None:
            raise Exception("sign_fetch_is_failed")
        else:
            (domain, sig, keyt) = sign

        pre_domain = self.domain.split('.')[0]

        url = 'http://www.alexa.cn/api_150710.php'
        payload = {
            'url': domain,
            'sig': sig,
            'keyt': keyt,
        }
        r = http_request_post(url, payload=payload).text

        for sub in r.split('*')[-1:][0].split('__'):
            if sub.split(':')[0:1][0] == 'OTHER':
                break
            else:
                sub_name = sub.split(':')[0:1][0]
                sub_name = ''.join((sub_name.split(pre_domain)[0], domain))
                if is_domain(sub_name):
                    self.subset.append(sub_name)
    def fetch_alexa_cn(self):
        """get subdomains from alexa.cn"""
        sign = self.get_sign_alexa_cn()
        if sign is None:
            raise Exception("sign_fetch_is_failed")
        else:
            (domain,sig,keyt) = sign

        pre_domain = self.domain.split('.')[0]

        url = 'http://www.alexa.cn/api_150710.php'
        payload = {
            'url': domain,
            'sig': sig,
            'keyt': keyt,
            }
        r = http_request_post(url, payload=payload).text

        for sub in r.split('*')[-1:][0].split('__'):
            if sub.split(':')[0:1][0] == 'OTHER':
                break
            else:
                sub_name = sub.split(':')[0:1][0]
                sub_name = ''.join((sub_name.split(pre_domain)[0], domain))
                if is_domain(sub_name):
                    self.subset.append(sub_name)
Esempio n. 4
0
    def fetch_chinaz(self):
        """get subdomains from alexa.chinaz.com"""

        url = 'http://alexa.chinaz.com/?domain={0}'.format(self.domain)
        r = http_request_get(url).text
        subs = re.compile(r'(?<="\>\r\n<li>).*?(?=</li>)')
        result = subs.findall(r)
        for sub in result:
            if is_domain(sub):
                self.subset.append(sub)
    def fetch_chinaz(self):
        """get subdomains from alexa.chinaz.com"""

        url = 'http://alexa.chinaz.com/?domain={0}'.format(self.domain)
        r = http_request_get(url).content
        subs = re.compile(r'(?<="\>\r\n<li>).*?(?=</li>)')
        result = subs.findall(r)
        for sub in result:
            if is_domain(sub):
                self.subset.append(sub)
Esempio n. 6
0
 def run(self):
     url = self.site + self.domain
     try:
         r = http_requests_get(url=url)
         results = re.findall('</TD>\n    <TD>(.*?)</TD>\n    <TD><A',
                              r.text, re.S)
         for result in results:
             if is_domain(result):
                 self.result.append(result)
         return list(set(self.result))
     except Exception, e:
         return self.result
Esempio n. 7
0
    def fetch_ip138(self):
        """get subdomains from ip138.com"""

        url = 'http://site.ip138.com/{0}/domain.htm'.format(self.domain)
        r = http_request_get(url).content
        regx = r'<a.*>(.*\.%s)</a>' % self.domain
        # subs = re.compile(r'(?<="\>\r\n<li>).*?(?=</li>)')
        result = re.findall(regx, r)
        for sub in result:
            # print sub
            if is_domain(sub):
                self.subset.append(sub)
    def run(self):
        try:
            url = "{0}/searchApi/v2/domain/report/?domain={1}".format(self.website, self.domain)
            # content = curl_get_content(url).get('resp')
            content = http_request_get(url).content

            for sub in json.loads(content).get('subdomains'):
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset
    def run(self):
        try:
            url = "{0}/searchApi/v2/domain/report/?domain={1}".format(
                self.website, self.domain)
            # content = curl_get_content(url).get('resp')
            content = http_request_get(url).text

            for sub in json.loads(content).get('subdomains'):
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            return self.subset
Esempio n. 10
0
 def run(self):
     print("[*]正在通过ip138查询域名[*]")
     url = self.site+self.domain+"/domain.htm"
     try:
         res = http_requests_get(url = url)      #发起请求
         r1 = re.findall('target="_blank"\>(.*?)\</a\>\</p\>', res)
         #return r1
         for result in  r1:       #循环写入
             if is_domain(result):       # 判断是否为域名
                 self.result.append(result)    # 将结果添加到列表中
         print_try("ip138查询完成,共" + str(len(self.result)) + "个域名")
         return list(set(self.result))   #去重
     except Exception as e:
         return self.result
    def run(self):
        try:
            url = "{0}/getData.php?e=subdomains_container&q={1}&t=0&rt=10&p=1".format(self.website, self.domain)
            # content = curl_get_content(url).get('resp')
            content = http_request_get(url).content

            _regex = re.compile(r'(?<=<a href\="domain.php\?q=).*?(?=">)')
            for sub in _regex.findall(content):
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset
    def run(self):
        try:
            url = "{0}/getData.php?e=subdomains_container&q={1}&t=0&rt=10&p=1".format(
                self.website, self.domain)
            # content = curl_get_content(url).get('resp')
            content = http_request_get(url).text

            _regex = re.compile(r'(?<=<a href\="domain.php\?q=).*?(?=">)')
            for sub in _regex.findall(content):
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            return self.subset
Esempio n. 13
0
 def run(self):
     payload = {
         'domain': self.domain,
         'b2': 1,
         'b3': 1,
         'b4': 1,
     }
     try:
         r = http_requests_post(self.site, payload)
         results = re.findall('value="http://(.*?)"><input', r.text)
         for result in results:
             if is_domain(result):
                 self.result.append(result)
         return list(set(self.result))
     except Exception, e:
         return self.result
Esempio n. 14
0
 def run(self):
     print("[*]正在通过yumingco查询域名[*]")
     url = self.site + self.domain
     try:
         res = http_requests_get(url=url)  #发起请求
         r1 = re.findall('main:(.*)\<br\>', res)
         r = re.findall('(.*?)\<br\>', "".join(r1))
         #return res.text
         #return r
         for result in r:  #循环写入
             if is_domain(result):  # 判断是否为域名
                 self.result.append(result)  # 将结果添加到列表中
         print_try("yumingco查询完成,共" + str(len(self.result)) + "个域名")
         return list(set(self.result))  #去重
     except Exception as e:
         return self.result
Esempio n. 15
0
    def run(self):
        try:
            payload = {'b2': 1, 'b3': 1, 'b4': 1, 'domain': self.domain}
            r = http_request_post(self.url, payload=payload).text
            subs = re.compile(r'(?<=value\=\"http://).*?(?=\"><input)')
            for item in subs.findall(r):
                if is_domain(item):
                    self.subset.append(item)

            return list(set(self.subset))
        except Exception as e:
            return self.subset


# ilinks = Ilinks('aliyun.com')
# ilinks.run()
# print(ilinks.subset)
Esempio n. 16
0
    def run(self):
        try:
            # 此auth 需要自行申请,每个auth 每天有查询次数限制
            auth=("*****@*****.**","d160262241ccf53222d42edc6883c129")
            payload={"query":"*.%s" % self.domain}
            url = "https://api.passivetotal.org/v2/enrichment/subdomains"
            response = requests.get(url,auth=auth,params=payload)

            for sub in json.loads(response.content)['subdomains']:
                sub="%s.%s" %(sub,self.domain)
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset
Esempio n. 17
0
    def run(self):
        try:
            # 此auth 需要自行申请,每个auth 每天有查询次数限制
            auth = ("*****@*****.**", "d160262241ccf53222d42edc6883c129")
            payload = {"query": "*.%s" % self.domain}
            url = "https://api.passivetotal.org/v2/enrichment/subdomains"
            response = requests.get(url, auth=auth, params=payload)

            for sub in json.loads(response.content)['subdomains']:
                sub = "%s.%s" % (sub, self.domain)
                if is_domain(sub):
                    self.subset.append(sub)

            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset
Esempio n. 18
0
    def run(self):

        try:
            timestemp = time.time()
            url = "{0}?0.{1}&callback=&k={2}&page=1&order=default&sort=desc&action=moreson&_={3}&verify={4}".format(
                self.url, timestemp, self.domain, timestemp, self.verify)
            result = json.loads(req.get(url).content)
            if result.get('status') == '1':
                for item in result.get('data'):
                    if is_domain(item.get('domain')):
                        self.subset.append(item.get('domain'))
                return list(set(self.subset))
            elif result.get('status') == 3:
                print('get verify_code():', self.verify)
                self.verify_code()
                self.run()
        except Exception as e:
            logging.info(str(e))
            return self.subset
Esempio n. 19
0
 def run(self):
     try:
         url = self.site
         r = http_requsets_post(url=url,
                                payload={
                                    'domain': self.domain,
                                    'b2': '1',
                                    'b3': '1',
                                    'b4': '1'
                                })
         # self.result.append(r.content)
         results = re.findall('value="http://(.*?)"><input type=hidden',
                              r.content)
         for result in results:
             if is_domain(result):
                 self.result.append(result)
         return list(set(self.result))
         # return self.result
     except Exception, e:
         return self.result
    def run(self):

        try:
            timestemp = time.time()
            url = "{0}?0.{1}&callback=&k={2}&page=1&order=default&sort=desc&action=moreson&_={3}&verify={4}".format(
                self.url, timestemp, self.domain, timestemp, self.verify)
            result = json.loads(req.get(url).content)
            if result.get('status') == '1':
                for item in result.get('data'):
                    if is_domain(item.get('domain')):
                        self.subset.append(item.get('domain'))
            elif result.get('status') == 3:
                logging.info("chaxun.la api block you ip...")
                logging.info("input you verify_code in http://subdomain.chaxun.la/wuyun.org/")
                # print('get verify_code():', self.verify)
                # self.verify_code()
                # self.run()
            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset
    def run(self):
        try:
            payload = {
                'b2': 1,
                'b3': 1,
                'b4': 1,
                'domain': self.domain
            }
            r = http_request_post(self.url,payload=payload).text
            subs = re.compile(r'(?<=value\=\"http://).*?(?=\"><input)')
            for item in subs.findall(r):
                if is_domain(item):
                    self.subset.append(item)

            return list(set(self.subset))
        except Exception as e:
            logging.info(str(e))
            return self.subset

# ilinks = Ilinks('aliyun.com')
# ilinks.run()
# print(ilinks.subset)