Expand description
IP address utilities — CIDR matching, subnet calculation, classification, and anonymization.
This crate provides tools for working with IPv4 and IPv6 addresses using only the standard library. Features include CIDR range parsing and matching, subnet calculations, IP classification (private, loopback, CGNAT, etc.), anonymization for GDPR compliance, and CIDR aggregation.
§Examples
use philiprehberger_ip_utils::{Cidr, IpClassify, anonymize};
use std::net::IpAddr;
let cidr = Cidr::parse("192.168.1.0/24").unwrap();
let ip: IpAddr = "192.168.1.100".parse().unwrap();
assert!(cidr.contains(ip));
assert!(ip.is_private());
assert!(!ip.is_global_ip());
let anon = anonymize(ip, 8);
assert_eq!(anon.to_string(), "192.168.1.0");Structs§
- Cidr
- A CIDR range representing a network prefix.
- Cidr
Iter - Iterator over IPv4 addresses in a CIDR range.
Enums§
Traits§
- IpClassify
- Extension trait for classifying IP addresses.