master
md 30 lines 683 Bytes
Rendered Raw
1 # iprange
2
3 This package helps you to work with IP ranges.
4
5 IP range is a set of IP addresses. Both IPv4 and IPv6 are supported.
6
7 IP range interface:
8
9 ```
10 type Range interface {
11 Family() Family
12 Contains(ip net.IP) bool
13 Size() *big.Int
14 Iterate() iter.Seq[net.IP]
15 fmt.Stringer
16 }
17 ```
18
19 ## Supported formats
20
21 - `IPv4 address` (192.0.2.1)
22 - `IPv4 range` (192.0.2.0-192.0.2.10)
23 - `IPv4 CIDR` (192.0.2.0/24)
24 - `IPv4 subnet mask` (192.0.2.0/255.255.255.0)
25 - `IPv6 address` (2001:db8::1)
26 - `IPv6 range` (2001:db8::-2001:db8::10)
27 - `IPv6 CIDR` (2001:db8::/64)
28
29 IP range doesn't contain network and broadcast IP addresses if the format is `IPv4 CIDR`, `IPv4 subnet mask`
30 or `IPv6 CIDR`.