Get_domains(调用ICP及mail反查接口获取资产)

Posted p1g3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Get_domains(调用ICP及mail反查接口获取资产)相关的知识,希望对你有一定的参考价值。

写了个小工具,目的是尽可能多的获取资产,这个工具调用的是站长工具的ICP备案查询和邮箱反查功能。

环境:Python3

get_domains.py:

import requests
import re


host = ‘‘
mail = ‘‘

headers = {
    ‘Cookie‘:‘‘,
    ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/73.0.3683.103 Safari/537.36‘
}

def getdomain_icp(host):
    url = ‘https://icp.chinaz.com/ajaxsync.aspx?at=beiansl&callback=jQuery111308504784465392665_1555747182932&host={}&type=host&_=1555747182933‘.format(host)
    req = requests.get(url)
    domains = re.findall(‘MainPage:"(.*?)",‘,req.text,re.S)
    for domain in domains:
        with open(‘domains.txt‘,‘a+‘) as f:
            f.write(domain + "
")



def getdomain_mail(mail):
    url = ‘http://whois.chinaz.com/reverse?host={}&ddlSearchMode=1&page=1‘.format(mail)
    req = requests.get(url)
    page = re.findall(‘<span class="col-gray02">共(.*?)页‘,req.text)[0] #获取页数
    page = int(page) + 1
    for i in range(1,page):
        real_req = requests.get(‘http://whois.chinaz.com/reverse?host={}&ddlSearchMode=1&page={}‘.format(mail,i),headers=headers)
        domains = re.findall(‘<div class="w13-0 domain"><div class="listOther"><a href="/(.*?)"‘,real_req.text)
        for domain in domains:
            with open(‘domains.txt‘,‘a+‘) as f:
                f.write(domain + "
")

def main(host,mail=‘‘):
    getdomain_icp(host)
    if mail!=‘‘:
        getdomain_mail(mail)

if __name__ ==‘__main__‘:
    main(host=host,mail=mail)

 

使用时只需要修改host以及mail,host为类似jd.com/tencent.com这种域名,即根域名,另headers中的cookie字段需要自己登录站长工具后在headers中获取,否则mail反查不到所有信息,mail默认为空,可以只使用icp备案查询,即只修改host。

 

未进行去重处理,可以用我上一个工具在获取banner时去重,结果会存在当前目录下的domains.txt中。

 

脚本使用的为单线程,因为怕被封IP。

 

以上是关于Get_domains(调用ICP及mail反查接口获取资产)的主要内容,如果未能解决你的问题,请参考以下文章

ICP点云配准原理及优化

Index Filter及ICP特性

CS_WHERE_USED_MAT BOM反查

Canesten 项目申请ICP备案过程中遇到的问题及知识点扩充

Java线程池在运行后的结果反查

Ajax调用第三方接口;ICP备案查询;PHP后台调用接口;Js调用第三方接口;Ajax+PHP接口开发;