#安全 #OSINT #API 绑定 #API #网络 #网页 #API 客户端

securitytrails-rs

SecurityTrails API 的 Rust 绑定

3 个不稳定版本

0.1.0 2022年4月23日
0.0.2 2021年5月25日
0.0.1 2021年5月23日

1489网页编程

MIT 许可证

17KB
353

securitytrails-rs Crates.io 许可证

SecurityTrails API 的 Rust 绑定
目前处于开发中,仅支持部分功能

功能(未检查的项目正在开发中)

  • ping
  • 用法
  • 详情
  • 子域名
  • 标签
  • WHOIS
  • 搜索
  • 统计
  • 关联域名
  • DNS 历史记录
  • WHOIS 历史记录
  • IP 邻居
  • IP 统计

示例

子域名

use std::fs;
use securitytrails_rs::Client;

fn main() {
    let api_key: &str = "your_api_key";
    let domain = "google.com";
    let client = Client::new(api_key).unwrap();
    let ping = match client.ping() {
        Ok(ping) => ping,
        Err(e) => {
            println!("{}", e);
            return;
        },
    };
    println!("ping: {}", ping.success);
    let subdomains = match client.get_subdomains(domain) {
        Ok(subdomains) => subdomains,
        Err(e) => {
            println!("{}", e);
            return;
        },
    };
    println!("endpoint: {}", subdomains.endpoint);
    //println!("subdomains: {:?}", subdomains.subdomains);
    let joined = subdomains.subdomains.join("\n");
    let save_path = format!("{}_subdomains.txt", domain);
    fs::write(save_path.clone(), joined).expect("Unable to write file");
    println!("subdomains: Saved to {}", save_path);
    let usage = match client.get_usage() {
        Ok(usage) => usage,
        Err(e) => {
            println!("{}", e);
            return;
        },
    };
    println!("current: {}", usage.current_monthly_usage);
    println!("allowed: {}", usage.allowed_monthly_usage);
}

依赖项

~4–19MB
~247K SLoC