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:
- network base IP address and mask (e.g. ipnet::Ipv4Net value like
1.1.1.0/24), - assigned AS number (e.g.
13335), - owner country code (e.g.
US), - owner information (e.g.
CLOUDFLARENET - Cloudflare, Inc.).
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.
use Ipv4Database;
use File;
use BufReader;
let db = from_reader.unwrap;
let entry = db.lookup.unwrap;
println!;
This prints:
Entry {
subnet: 1.1.1.0/24,
as_number: 13335,
country: "US",
owner: "CLOUDFLARENET",
}