blob: 7960328318749c95ca4c3f1777ffd8e037ddbebe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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
```
|