cidit-3.0.1 is not a library.
CLI CIDR calculator for IPv4 and IPv6
Calculate Network Ranges for a given CIDR (IPv4 and IPv6)
For example, cidit 10.122.33.44/24 prints out the following information:
ip_ver cidr address prefix network first_usable last_usable broadcast available netmask hostmask
v4 10.122.33.44/24 10.122.33.44 24 10.122.33.0 10.122.33.1 10.122.33.254 10.122.33.255
CIDR stands for Classless Inter-Domain Routing. Learn more about CIDR here or here.
Install
With Homebrew (recommended)
brew tap hex22a/cidit
brew install cidit
Binaries
Check out Releases page to find binaries for Your platform
Usage
# cidit --help to get more usage info
cidit 10.122.33.44/24
Supports multiple CIDRs
cidit 10.122.33.44/24 10.255.55.66/20 2001:db8:1::ab9:c0a8:102/64
Output:
ip_ver cidr address prefix network first_usable last_usable broadcast available netmask hostmask
v4 10.122.33.44/24 10.122.33.44 24 10.122.33.0 10.122.33.1 10.122.33.254 10.122.33.255
v4 10.255.55.66/20 10.255.55.66 20 10.255.48.0 10.255.48.1 10.255.63.254 10.255.63.255
v6 2001:db8:1::ab9:c0a8:102/64 2001:db8:1::ab9:c0a8:102 64 2001:db8:1:: 2^64 ffff:ffff:ffff:ffff:: ::ffff:ffff:ffff:ffff
Different output formats
cidit -f json 10.122.33.44/24
# Prints: {"version":2,"data":[{"ip_version":"v4","cidr":"10.122.33.44/24","address":"10.122.33.44","prefix_length":24,"first_usable":"10.122.33.1","last_usable":"10.122.33.254","network":"10.122.33.0","broadcast":"10.122.33.255"}]}
Pretty print:
cidit -f json -p 10.122.33.44/24
Output:
{
"version": 2,
"data": [
{
"ip_version": "v4",
"cidr": "10.122.33.44/24",
"address": "10.122.33.44",
"prefix_length": 24,
"first_usable": "10.122.33.1",
"last_usable": "10.122.33.254",
"network": "10.122.33.0",
"broadcast": "10.122.33.255"
}
]
}
Compile from sources
Clone this repo:
git clone git@github.com:hex22a/cidit.git && cd ./cidit
Run tests:
cargo test
Build the binary
cargo build
This will create a binary in target > debug directory