![Latest Version] ![Documentation] ![License]

asn-db2 is a Rust library that can load and index [ASN] databases (ip2asn-v4.tsv, ip2asn-v6.tsv, ip2asn-combined.tsv files) from [IPtoASN] website.

This crate is a rewritten fork of Jakub Pastuszek's [asn-db] crate.

Once loaded it can be used to lookup an IP address for matching [ASN] record that contains:

Both IPv4 and IPv6 addresses and networks are supported.

Example

Load database from ip2asn-v4.tsv file and lookup 1.1.1.1 IP address.

```rust use asn_db2::Ipv4Database; use std::fs::File; use std::io::BufReader;

let db = Ipv4Database::from_reader(BufReader::new(File::open("ip2asn-v4.tsv").unwrap())).unwrap(); let entry = db.lookup("1.1.1.1".parse().unwrap()).unwrap();

println!("{:#?}", entry); ```

This prints:

noformat Entry { subnet: 1.1.1.0/24, as_number: 13335, country: "US", owner: "CLOUDFLARENET", }