FOFA Pro API 是资产搜索引擎 FOFA Pro 为开发者提供的 RESTful API 接口, 允许开发者在自己的项目中集成 FOFA Pro 的功能。
基于 FOFA Pro API 编写的 C\C++ 版 SDK, 方便 C\C++ 开发者快速将 FOFA Pro 集成到自己的项目中。
OS:Windows 10
IDE: Visual Studio 2012
CMake Version:3.6.3
开发语言:C操作系统:Windows 10
IDE: Visual Studio 2012、Visual Studio 2013
CMake Version:3.6.3
测试语言:C\C++OS: Windows
CMake Version:3.6及以上下载 FOFA SDK
git clone https://github.com/fofapro/fofa-c.git或访问https://github.com/fofapro/fofa-c进行下载
构建
Windows下使用命令提示符进入FOFA Pro SDK源文件根目录,执行cmake .,生成工程文件
编译
打开生成文件FOFA.sln,执行编译,生成fofa.lib。
fofa.lib默认生成路径为./api/build
使用
将编译生成的fofa.lib放入创建的工程文件夹,将FOFA源码文件夹中的include文件夹和lib文件夹拷贝至创建的工程文件夹,
设置相关文件夹路径,即可使用SDK。
Email |
用户登陆 FOFA Pro 使用的 Email |
|---|---|
Key |
前往 个人中心 查看 API Key |
#include "include/fofa.h"
#pragma comment(lib,"fofa.lib")
int main(int argc,char *argv[])
{
FofaClientPtr test_client_ptr = NULL;
char *email = "FOFA_EAMIL@email.com";
char *key = "FOFA_KEY";
char *query_result = NULL;
int i,j;
ResultPtr result;
fofa_new_client(email, key, &test_client_ptr);
//以原始JSON格式字符串进行查询
fofa_query_as_json("domain:\"fofa.so\"", "ip,domain,host,title", 1, test_client_ptr, &query_result);
printf("%s\n",query_result);
free(query_result);
query_result = NULL;
//获取JSON内数据的方式进行查询
result = fofa_query_as_array("domain=\"fofa.so\"", "ip,host,title", 1, test_client_ptr, &query_result);
free(query_result);
query_result = NULL;
if(result != NULL)
{
for(i = 0;i < result->num;i++)
{
printf("No:%d:[",i);
for(j = 0;j < result->items[i].num;j++)
{
printf("%s,",result->items[i].member[j]);
}
printf("]\n");
}
fofa_destroy_result_struct(result);
free(test_client_ptr);
}
system("pause");
return 0;
}使用FOFA SDK 开发的控制台程序,无需登陆即可进行FOFA查询.
FOFA SDK 遵循 MIT 协议 https://opensource.org/licenses/mit