一、钟馗之眼(zoomeye)API使用代码
之前文章有提到从钟馗之眼(zoomeye)手动搜索酒店源的特征关键字来获取IP:
当然我们也可以完全通过python代码来请求获取需要的数据。但是钟馗之眼不像fofa那样可以不用登录就可以提供公共查询,需要登录才能获取到更多信息,因此使用python请求就需要附加api进行验证后才能获取到数据,我们看看官方相关文档:
这个其实对我这种非专业人士完全看不懂,不过通过网络方式还是找到了相关python代码:
def search_zoomeye(config):
# ZoomEye API URL
url = "https://api.zoomeye.org/host/search"
# Search parameters
params = {
"query": config['keyword'],#keyword,
"page": 1, # 页码,从1开始
"facets": "app,os" # 可选,用于获取结果的统计信息
}
# Headers with API key
headers = {
"API-KEY": config['api_key'],#api_key,
"Content-Type": "application/json"
}
response = requests.get(url, params=params, headers=headers)
# Check if request was successful
if response.status_code == 200:
# Get JSON response
data = response.json()
else:
print(f"Error: {response.status_code} - {response.text}")
通过以上代码将api和关键字分别传递到query和API-KEY就可以获取得到json结果的数据,然后在json数据中提取相应的IP和端口就可以了。
关于API位置:登录后进入个人中心就可以看到API-KEY
运行结果:
如果显示402错误,查询原因为资源请求额度不足。
原来使用API是需要扣除权益积分,权益积分就只能通过充值或者开通会员可以免费使用API。
因此,钟馗之眼(zoomeye)就此PASS吧。
二、360网络空间测绘(quake)使用代码
相较于钟馗之眼(zoomeye),个人感觉360的quake网络空间测绘更胜一筹,数据也更多更新。
360网络空间测绘(quake)官网:
https://quake.360.net/
首先我们还是看看官方的API使用文档:
接口请求示例完全可以直接复制使用,只需对其中的几个重要参数进行修改:
import requests
headers = {
"X-QuakeToken": "用户API Key"
}
data = {
"query": "port: 443",
"start": 0,
"size": 10
}
response = requests.post(url="https://quake.360.net/api/v3/search/quake_service", headers=headers, json=data)
print(response.json())
1、用户API Key:填入自己的API KEY;
2、query:填入需要查询的关键字;
3、size:(可选项)查询数据条数,即输出多少条数据。
因此我们可以直接引用上方代码获取json的结果数据,再从json提取相应的IP和端口即可。
关于quake使用API使用费用问题:
0x04 接口调用积分使用说明
- 每个月不同等级用户会得到相应等级的
免费API调用次数
福利,你可以在个人中心中查看月度剩余免费查询次数。 - 如果免费API次数消耗完毕后,通过API调用的资产数量,会花费
同等数量
的积分(即1条资产=1积分),望大家注意自己的积分是否充足!
大概是1条数据资产耗费1积分,然而每个用户自然月会获得3000的积分,因此对于个人日常使用还是完全足够了。
我们用写好的代码查询关键字:iptv/live/zh_cn.js AND country: “China” AND province: “hunan” AND port: “9901”,试试获取的10条数据结果:
然后用程序自动测试每一条数据是否有酒店节目源:
其中三条数据有效,获取到的节目列表:
如果将quake自动获取IP和酒店源代码结合起来就可以全自动获得节目列表了。
三、相关下载即使用说明:
1、本程序会要求填入API KEY才能获取到数据,程序不会记录上传任何API数据,同时,保险起见建议测试完后更新一下API(API旁边的刷新按钮),这样之前输入的API就失效了。
2、文件包含zoomeye和quake两个测绘空间的查询程序,推荐使用quake,如果zoomeye有足够权益积分或者会员也可以使用zoomeye。
3、程序包含windows系统的exe和linux的py,但是py有对主要代码转换为so文件,在aarch64环境的debian12 python3.11上运行没问题,其他平台未做测试。
4、使用说明,相关配置文件和关键字均在config.txt中填写,只需修改=后面的内容。其中api_key、keyword、output_file分别为zoomeye的API KEY、查询关键字和结果保存的文件名。
size:quake获取的数据条数,默认10;
quake_api :填入自己的API KEY;
quake_keyword:即我们手动在浏览器查询输入的关键字,我们可以限定地区、端口等获取更精确的数据,详细语法官方有说明。
为避免程序商业行为,程序运行均有密码,密码不定期会更新,如出现密码错误,公众号回复【运行密码】以获取最新密码,密码保存到config.txt,密码未到期,完全不影响自动运行。
linux系统运行:
zoomeye:python main.py或python3 main.py
quake:python quake.py或python3 quake.py
Windows系统运行:
直接运行对应的exe文件即可。
5、由于从获取到有效IP到自动生成有效的列表还处于不完善阶段就不放出来了,后续完善后再考虑放出。本文分享相关文件仅供个人测试使用。
6、下载地址:
扫码关注公众号,回复本文发布日期【240511】即可获取下载链接。有任何建议欢迎留言或后台私信。
欢迎关注本公众号,后台发消息给我,我会即时进行回复的哦。
声明:除原创内容及特别说明之外,推送稿件文字及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。