Skip to content

Extract indicators like urls,domains,ip,emails,etc... from a given string

License

Notifications You must be signed in to change notification settings

marirs/ioc_extract-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 31, 2024
27a738f · Oct 31, 2024

History

76 Commits
Jan 23, 2022
May 16, 2024
Jun 3, 2024
Oct 31, 2024
Jan 23, 2022
Oct 31, 2024
Jan 23, 2022
May 16, 2024

Repository files navigation

IOC Extract

Linux x86_64 Linux Arm7 macOS Windows GitHub license

Extract indicators like urls,domains,ip,emails,etc... from a given string or a Text file.

Requirements

  • Rust 1.56+ (edition 2021)

Example

use ioc_extract::Artifacts;

fn main() {
    let x = "there are ips in this test\nexample.ini\n192.168.21.21 and ::ffff:127.0.0.1\nthe cidrs are:\n2001:0DB8:1234::/48 and \n10.0.0.0/8\n\n";
    let x = x.to_owned() + "check out https://www.google.com or www.google.com";
    let ioc = Artifacts::from_str(&x);
    println!("IOC's:\n{:#?}", ioc);
}

Running the Example

$ cargo r --example xtract
     Running `target/debug/examples/xtract`
IOC's:
Some(
    Indicators {
        urls: Some(
            [
                "https://www.google.com",
            ],
        ),
        domains: Some(
            [
                "www.google.com",
            ],
        ),
        emails: None,
        ip_address: Some(
            [
                "10.0.0.0/8",
                "192.168.21.21",
                "2001:0DB8:1234::/48",
                "::ffff:127.0.0.1",
            ],
        ),
        crypto: None,
        registry: None,
    },
)

LICENSE: MIT