Skip to content

Simplifies IPv4/IPv6 CIDR network prefix management with counting, overlap checking, explanation, and subdivision.

License

Notifications You must be signed in to change notification settings

bschaatsbergen/cidr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cidr

Release GitHub release (latest SemVer) GitHub commits since latest release (by SemVer) Go Reference

A CLI to perform various actions on CIDR ranges

Brew

To install cidr using brew, simply do the below.

brew tap bschaatsbergen/cidr
brew install cidr

Binaries

You can download the latest binary for Linux, MacOS, and Windows.

Examples

Using cidr is very simple.

Check whether an address belongs to a CIDR range

To check if a CIDR range contains an IP:

$ cidr contains 10.0.0.0/16 10.0.14.5
true

This also works with IPv6 addresses, for example:

$ cidr contains 2001:db8:1234:1a00::/106 2001:db8:1234:1a00::
true

Count distinct host addresses

To get all distinct host addresses part of a given CIDR range:

$ cidr count 10.0.0.0/16
65534

This also works with a IPv6 CIDR range, for example:

$ cidr count 2001:db8:1234:1a00::/106
4194302

Or with a large prefix like a point-to-point link CIDR range:

$ cidr count 172.16.18.0/31
2

CIDR range intersection

To check if a CIDR range overlaps with another CIDR range:

$ cidr overlaps 10.0.0.0/16 10.0.14.0/22
true

This also works with IPv6 CIDR ranges, for example:

$ cidr overlaps 2001:db8:1111:2222:1::/80 2001:db8:1111:2222:1:1::/96
true

Contributing

Contributions are highly appreciated and always welcome. Have a look through existing Issues and Pull Requests that you could help with.

About

Simplifies IPv4/IPv6 CIDR network prefix management with counting, overlap checking, explanation, and subdivision.

Topics

Resources

License

Stars

Watchers

Forks