Zoomeye 腳本收集並數據


鍾馗之眼,是一個強大的搜索引擎,不同於百度谷歌,它主要收集網絡中的主機,服務等信息,類似於Shodan 這里通過Python實現了對鍾馗之眼API的解析。

Zoomeye 自己實現解析

常用搜索關鍵字

app:組件名稱    ver:組件版本

例如:搜索 apache組件    版本2.4  --> app:apache ver:2.4
 
指定搜索的端口
port:端口號 ---> 例如:搜索開放了SSH端口的主機 port:22
     
指定搜索的操作系統 OS:操作系統名稱 ---> OS:Linux
 
指定搜索的服務 service:服務名稱 --->  例如,搜素SSH服務  Service:SSH
 
指定搜索的地理位置范 --> country:國家   city:城市名    country:China --> city:Beijing
 
搜索指定的CIDR網段 例如: CIDR:192.168.158.12/24
 
搜索指定的網站域名 ---> site:www.baidu.com
 
搜索指定的主機名 ---> hostname:zwl.cuit.edu.cn
 
搜索指定的設備名  --> device:router
 
搜索具有特定首頁關鍵詞的主機 ---> keyword:technology

搜索腳本

#coding=utf-8
import os,json,requests
from optparse import OptionParser

def login():
    url_login="https://api.zoomeye.org/user/login"
    data={
        "username": "xxx@qq.com",
        "password": "xxxxxx"
    }
    data=json.dumps(data)
    r=requests.post(url=url_login,data=data)
    return json.loads(r.content)['access_token']

def GetResidual(token):
    url="https://api.zoomeye.org/resources-info"
    headers={'Authorization':'JWT ' + token}
    r=requests.get(url=url,headers=headers)
    datas=json.loads(r.content)
    print("剩余搜索次數: {}".format(datas['resources']['search']))

def Search(token,search,files,page):
    url="https://api.zoomeye.org/web/search?query={}&page={}".format(search,page)
    headers={'Authorization':'JWT ' + token}
    r=requests.get(url=url,headers=headers)
    data = json.loads(r.content)['matches']
    with open(files,'w',encoding='utf-8') as f:
         json.dump(data,f,ensure_ascii=False)
    print("[+] 保存文件: {} 長度: {} 頁碼: {} 查詢語法: {}".format(files,len(data),page,search))

def Get_System(files):
    try:
        with open(files,'r',encoding='utf8') as fp:
            json_data = json.load(fp)
            json_len = len(json_data)
            for item in range(0,json_len):
                print("IP地址: %15s   |" %(json_data[item]['ip'][0]),end="")
                print("地區: %1s %3s "%(json_data[item]['geoinfo']['continent']['names']['zh-CN'],
                json_data[item]['geoinfo']['subdivisions']['names']['zh-CN']))
    except Exception:
        pass

if __name__== "__main__":
    #使用方式: main.py -s windows -p 3 -f windows.json
    parser = OptionParser()
    parser.add_option("-s","--search",dest="search",help="根據傳入語法搜索指定內容")
    parser.add_option("-f","--file",dest="file",help="保存文件的名字 *.json")
    parser.add_option("-p","--page",dest="page",help="需要檢索第幾頁的數據")
    parser.add_option("-q","--query" ,dest="query",help="單獨使用,可用於查詢剩余次數")
    parser.add_option("-g","--get" ,dest="get",help="提取本地json文件並解析出關鍵數據")
    (options,args) = parser.parse_args()
    if options.search and options.file and options.page:
        token = login()
        Search(token,options.search,options.file,options.page)
    elif options.query and options.search == None:
        token = login()
        GetResidual(token)
    elif options.get:
        Get_System(options.get)
    else:
        parser.print_help()

查詢使用次數: 默認情況下,鍾馗之眼每月給與10000條左右的查詢次數,可以使用 -q 參數實現次數的查詢。

搜索功能的使用: 通過 -s 選項指定你需要搜索的關鍵字,可以結合鍾馗之眼搜索語法使用,-p 就是搜索的頁碼數,-f 保存為json文件。

解析IP地址 在本地JSON文件中解析IP地址,提取出關鍵數據。

shodan 工具的使用

常用語法:

hostname:"主機或域名"   ---> 如 hostname:"google''

port:"端口或服務"  ---> 如 port:"21"
     
ip : "ip地址"  ---> 如 ip : "168.205.71.64"
     
net:"IP地址或子網" ---> 如 net:"210.45.240.0/24"
     
vuln :指定漏洞的cve ---> 如 vuln:CVE-2015-8869   ---> 如 country:CN vuln:CVE-2014-0160
     
os :"操作系統" ---> 如 os:"centOS"
     
isp:"ISP供應商" ---> 如 isp:"China Telecom"
     
product:"操作系統/軟件/平台" ---> 如 product:"Apache httpd"
     
version:"軟件版本" ---> 如 version:"3.1.6"
     
geo:"經緯度" ---> 如 geo:"39.8779,116.4550"
     
country`:"國家" ---> 如 country:"China" country:"UN"
     
city:"城市" ---> 如 city:"Hefei"
     
org:"組織或公司"  ---> 如 org:"google"
     
before/after:"日/月/年"  ---> 如 before:"25/09/2017"  --> after:"25/09/2017"
     
asn : "自治系統號碼" ---> 如 asn:"AS2233"

直接使用 pip install shodan 安裝好,登錄https://account.shodan.io/找到shodan APIKEY

項目地址:https://github.com/achillean/shodan-python

初始化,將你的KEY導入,然后可以直接搜索了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM