std::net::ipnetIP address and CIDR utilities.
Parse and inspect IP addresses, and perform CIDR subnet calculations.
import std::net::ipnet;
fn main() {
if ipnet.is_valid("192.168.1.1") {
if ipnet.is_private("192.168.1.1") {
println("private IP");
}
}
if ipnet.cidr_contains("10.0.0.0/8", "10.1.2.3") {
println("in range");
}
}
is_validTest whether a string is a valid IP address (v4 or v6).
is_v4Test whether an IP address is IPv4.
is_v6Test whether an IP address is IPv6.
is_loopbackTest whether an IP address is a loopback address (e.g. 127.0.0.1, ::1).
is_privateTest whether an IP address is in a private range (e.g. 10.x, 192.168.x).
cidr_containsTest whether a CIDR network contains a given IP address.
ipnet.cidr_contains("10.0.0.0/8", "10.1.2.3") // true
ipnet.cidr_contains("10.0.0.0/8", "172.16.0.1") // false
cidr_networkReturn the network address of a CIDR block.
ipnet.cidr_network("192.168.1.0/24") // "192.168.1.0"
cidr_broadcastReturn the broadcast address of a CIDR block.
ipnet.cidr_broadcast("192.168.1.0/24") // "192.168.1.255"
cidr_hostsReturn the number of usable host addresses in a CIDR block.
ipnet.cidr_hosts("192.168.1.0/24") // 254