#cybersecurity #sdk #devices #map #search-engine #api #tool

bin+lib fofa

fofa_rust 是为 FOFA(一种网络安全地图工具)制作的 SDK。

1 个不稳定版本

0.2.0 2024 年 4 月 27 日
0.1.5 2024 年 4 月 27 日
0.0.65 2024 年 4 月 27 日

#23#cybersecurity

36 每月下载量

MIT 许可证

22KB
234

FOFA Rust

FOFA Rust 是对 FOFA API 的简单封装,使用 rust 重新编写。版本为 edition 2021

FOFA 是一个针对互联网设备的搜索引擎。 FOFA API 帮助开发者在自己的项目中轻松集成 FOFA 数据。

文档

中文版本

文档

使用方法

fofa -k xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -f ip,host,port -q domain=apple.com -r 1-5 -s 10 -x -j

作为 SDK 使用

use fofa;
use tokio;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = fofa::FofaClient {
        key : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".to_string(),    //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        fields : "host,ip,port,domain,server,os".to_string(),
        query_string: "domain=apple.com".to_string(),
        size: 10,
    };
    let response = client.search(1).await.unwrap();    //return FofaApiResponse Struct
    let result = client.get_results(&response);         //return Vec<Vec<String>>
    for inner_vec in &result{
        for item in inner_vec{
            print!("{},",item);
        }
        println!();
    }
    Ok(())
}

依赖项

reqwest = { version = "0.12", features = ["json"] }
tokio = { version = "1", features = ["full"] }
base64 = {version = "0.22.0"}
json ={ version = "0.12.4"}
serde = { version = "1.0.198", features = ["derive"] }
serde_json ={ version = "1.0.116"}
argparse ={ version = "0.2.2"}
xlsxwriter = {version = "0.6.0"}
calamine = "0.24.0"

许可证

本软件受 MIT 许可证 许可。

待办事项

[ ] 开发一个 GUI

依赖项

~15–29MB
~520K SLoC