/ZoomEye-SDK

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

ZoomEye-SDK

基于ZoomEye api编写的SDK。主要函数及用法说明如下:

token = get_token("email" , "password"):
    通过给定的邮箱地址及密码获取token。如返回错误信息,则返回“error”,并在屏幕上打印错误信息。

remaining_resources(token):
    通过给定的token查询对应token剩余的可查询资源数。

result = get_search_results(token , dork , type , page):
    获取json格式的原始数据。
    参数说明如下:token为给定的token;dork为待搜索dork;type为搜索类型,可使用主机搜索(host)或Web结果搜索(web);
                  page为指定的页码。

classify_hosts_results(result, para=['banner'], keyword="", show_print=True, show_return=True):
    对来自get_search_result函数的host数据进行筛选————直接显示(print)一份,供使用者阅读;以列表形式返回(return)一份,供poc等程序使用。
    参数说明如下:result为来自get_search_result的原始json数据;
    para为指定返回显示的的数据的key值,包括"ip" , "timestamp" , "asn" , "city" , "continent" , "country" , "location" , "isp"     
    "names" , "subdivisions" , "organization" , "aso" , "product" ,  "banner" , "device" ,                                        
    "extrainfo" , "hostname", "os" , "port" ,  "service" , "version";
    keyword参数用于精确筛选满足需求的结果。

classify_web_results(result, para=['headers'], keyword="", show_print=True, show_return=True):
    对来自get_search_result函数的Web数据进行筛选————直接显示(print)一份,供使用者阅读;以列表形式返回(return)一份,供poc等程序使用。
    参数说明如下:result为来自get_search_result的原始json数据;
    para为指定返回显示的的数据的key值,包括"geoinfo" , "city" , "asn" , "location" , "continent" , "country" , "headers" ,
    "webapp" , "title" , "site" , "server" , "plugin" , "language" , "keywords" , "ip" ,  "domains" ,"description" , "db" ,
    "check_time"; 
    keyword参数用于精确筛选满足需求的结果。

V2.1更新说明:

1.增强了代码在高并发状态下的可用性及稳定性;

2.为classify_hosts_results及classify_web_results函数的“print”和“return”功能增加了开关。

V2.0更新说明:

1.增加classify_web_results函数用来处理Web方式返回的数据,并添加keyword参数于classify_web_results , classify_hosts_results函数中,便于筛选结果;

2.classify_web_results , classify_hosts_results函数中增加try-except语句,以增强容错能力。