使用Python实现fofa调用api搜索资产

0x01 获取email和api_key
在这里插入图片描述在个人主页的个人资料中,查看个人的email和api_key
0x02 脚本实现
在脚本实现过程中需要使用三个Python库,requests、base64、sys。

import requests
import base64
import sys

API的请求地址:

api = api = r'https://fofa.so/api/v1/search/all?email={}&key={}&qbase64={}&size=10000'

email参数填个人资料中的联系邮箱。
key参数填个人资料中的API KEY。
qbase64是搜索资产的关键字,需要使用base64编码后才可成功发送请求。
size参数为搜索结果的最大值,默认为100条,上限为10000条。
完整代码:

import requests
import base64
import sys


email = r'你的email'
api_key = r'你的API KEY'
api = r'https://fofa.so/api/v1/search/all?email={}&key={}&qbase64={}&size=10000'
arg = sys.argv[1]
print(arg)
flag = base64.b64encode(arg.encode()).decode()
response = requests.get(api.format(email,api_key,flag))
results = response.json()["results"]
print("共搜索到{}条记录!".format(len(results)))
file_name = r"{}.txt".format(arg)
f = open(file_name,"a")
for addr in results:
	f.write(addr[0]+'\n')
f.close()

脚本使用format函数对字符串进行拼接,qbase64在执行脚本时传入参数,最终搜索到的资产结果写入以关键字命名的txt文档,并保存在脚本当前目录下。
0x03 执行脚本
在这里插入图片描述
在这里插入图片描述PS:这是对fofa的API接口调用初尝试,后续如有新的成功尝试,会继续更新。

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
收集 FOFA 搜索结果的 Python 脚本可以使用 FOFA 的开放 API 进行实现。以下是一个简单示例: 首先,你需要在 FOFA 网站上注册并获取 API 密钥。然后,使用下面的 Python 代码作为参考: ```python import requests import json def collect_fofa_results(api_key, query): headers = { 'User-Agent': 'Mozilla/5.0', 'X-Auth-Token': api_key } params = { 'qbase64': query, 'full': 'true', 'fields': 'ip,title' } url = 'https://fofa.so/api/v1/search/all' response = requests.get(url, headers=headers, params=params) if response.status_code == 200: results = json.loads(response.text) return results else: print('Error occurred. HTTP Status Code:', response.status_code) return None api_key = 'your_api_key' query = 'your_query_base64_encoded' results = collect_fofa_results(api_key, query) if results: for result in results['results']: ip = result[0] title = result[1] print('IP:', ip, 'Title:', title) ``` 这段代码中,`collect_fofa_results` 函数发送请求到 FOFAAPI,其中包含你的 API 密钥和经过 Base64 编码的查询语句。在这个示例中,只收集了结果中的 IP 和标题两个字段。 你需要将 `your_api_key` 改为你在 FOFA 上获取到的 API 密钥,并将 `your_query_base64_encoded` 改为经过 Base64 编码的查询语句。当脚本运行时,它会打印出结果中的 IP 和标题。 这只是一个简单示例,你可以根据自己的需求修改代码并添加更多的字段来收集 FOFA 搜索结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值