7 releases

0.4.1 Feb 16, 2021
0.4.0 Nov 24, 2020
0.3.4 Aug 29, 2017
0.3.3 Mar 16, 2017
0.3.2 Jan 24, 2017

#32 in #resolver

MIT license

16KB
272 lines

cymrust Crates.io docs.rs CircleCI

Simple library to query Team Cymru's IP-to-ASN mapping information via DNS.

Please, see Team Cymru's documentation before using this library.

Cymrust's docs can be found from docs.rs.

Example

use std::env;
use std::net::IpAddr;

fn main() {
    let first_arg = env::args().nth(1).unwrap();
    let ip: IpAddr = first_arg.parse().unwrap();

    let cymru = cymrust::cymru_ip2asn(ip);
    println!("{:#?}", cymru)
}
$ cargo run -q --example whois 8.8.8.8
Ok(
    [
        CymruIP2ASN {
            ip_addr: V4(
                8.8.8.8
            ),
            bgp_prefix: "8.8.8.0/24",
            as_number: 15169,
            as_name: "GOOGLE - Google Inc., US",
            country_code: "US",
            registry: "arin",
            allocated: None,
            expires: SystemTime {
                tv_sec: 1483648521,
                tv_nsec: 906456000
            }
        }
    ]
)

Dependencies

~10MB
~185K SLoC