ipaddrcheck
ipaddrcheck copied to clipboard
An IPv4 and IPv6 validation utility for use in scripts
ipaddrcheck
Using
An IPv4 and IPv6 validation utility for use in scripts
Depends on libcidr by Matthew Fuller (http://www.over-yonder.net/~fullermd/projects/libcidr) and libpcre.
Usage: ./src/ipaddrcheck <OPTIONS> [STRING]
Address checking options:
--is-valid Check if STRING is a valid IPv4 or IPv6 address
with or without prefix length
--is-any-cidr Check if STRING is a valid IPv4 or IPv6 address
with prefix length
--is-any-single Check if STRING is a valid single IPv4 or IPv6 address
--is-any-host Check if STRING is a valid IPv4 or IPv6 host address
--is-any-net Check if STRING is a valid IPv4 or IPv6 network address
--is-ipv4 Check if STRING is a valid IPv4 address with mask
--is-ipv4-cidr Check if STRING is a valid CIDR-formatted address
--is-ipv4-single Check if STRING is a valid single address
(i.e. with no mask)
--is-ipv4-host Check if STRING is a host address
--is-ipv4-net Check if STRING is a network address
--is-ipv4-broadcast Check if STRING is a broadcast address
--is-ipv4-multicast Check if STRING is a multicast address
--is-ipv4-loopback Check if STRING is a loopback address
--is-ipv4-link-local Check if STRING is a link-local address
--is-ipv4-rfc1918 Check if STRING is a private (RFC1918) address
--is-ipv6 Check if STRING is a valid IPv6 address
--is-ipv6-cidr Check if STRING is a CIDR-formatted IPv6 address
--is-ipv6-single Check if STRING is an IPv6 address with no mask
--is-ipv6-host Check if STRING is an IPv6 host address
--is-ipv6-net Check if STRING is an IPv6 network address
--is-ipv6-multicast Check if STRING is an IPv6 multicast address
--is-ipv6-link-local Check if STRING is an IPv6 link-local address
--is-valid-intf-address Check if STRING is an IPv4 or IPv6 address that
can be assigned to a network interface
--is-ipv4-range Check if STRING is a valid IPv4 address range
--is-ipv6-range Check if STRING is a valid IPv6 address range
Behavior options:
--allow-loopback When used with --is-valid-intf-address,
makes IPv4 loopback addresses pass the check
--range-prefix-length <INT> When used with --is-ipv4-range or --is-ipv6-range,
requires the range boundaries to lie within
a prefix of given length
Other options:
--version Print version information and exit
--help Print help message and exit
Exit codes:
0 if check passed,
1 if check failed,
2 if a problem occured (wrong option, internal error etc.)
Building
Building from source:
autoreconf -i
./configure
make && make install
Running unit tests:
make check