Linux Calculating Subnets with ipcalc and sipcalc Utilities
If you need to calculate subnet under Linux use an IP Netmask/broadcast calculator called ipcal. You can calculate IPv4 or IPv6 address. Supported features:
=> Multiple address and netmask input formats.
=> Retrieving of address information from interfaces.
=> Classfull and CIDR output.
=> Multiple address and netmask output formats (dotted quad, hex, number of bits).
=> Output of broadcast address, network class, Cisco wildcard, hosts/range, network range.
=> Output of multiple types of bitmaps.
=> Output of a user-defined number of extra networks.
=> Multiple networks input from commandline.
=> DNS resolutions of hostnames.
=> Compressed and expanded input addresses.
=> Compressed and expanded output.
=> Standard IPv6 network output.
=> v4 in v6 output.
=> Reverse dns address generation.
=> The ability to "split" a network based on a smaller netmask, also with recursive runs on the generated subnets.
[a] ipcalc : ipcalc takes an IP address and netmask and calculates the resulting broadcast, network, Cisco wildcard mask, and host range. By giving a second netmask, you can design sub- and supernetworks. It is also intended to be a teaching tool and presents the results as easy to understand binary values.
[b] sipcalc : Sipcalc is also an ip subnet calculator consisting of two parts. A plain text based console version, and web (cgi) based counterpart. Sipcalc, in it’s simplest form takes an ip-address and a subnet mask on the commandline and outputs information about the subnet. Sipcalc has support for both IPv4 and IPv6 addresses.
Install sipcalc and ipcalc
Use apt-get command:
$ sudo apt-get install sipcalc ipcalc
Please note that ipcalc is installed by default under RHEL / CentOS / Fedora Linux using initscripts package.
Examples
Let us see how to calculate subnets for 192.168.0.1/24:
$ ipcalc 192.168.0.1/24
Output:
Address: 192.168.0.1 11000000.10101000.00000000. 00000001 Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000 Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111 => Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000 HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001 HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110 Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111 Hosts/Net: 254 Class C, Private Internet
You can also try sipcalc:
$ sipcalc 192.168.0.1/24
Output:
-[ipv4 : 192.168.0.1/24] - 0 [CIDR] Host address - 192.168.0.1 Host address (decimal) - 3232235521 Host address (hex) - C0A80001 Network address - 192.168.0.0 Network mask - 255.255.255.0 Network mask (bits) - 24 Network mask (hex) - FFFFFF00 Broadcast address - 192.168.0.255 Cisco wildcard - 0.0.0.255 Addresses in network - 256 Network range - 192.168.0.0 - 192.168.0.255 Usable range - 192.168.0.1 - 192.168.0.254
More examples:
$ sipcalc 192.168.0.1 255.255.128.0 255.255.192.0
Output:
-[ipv4 : 192.168.0.1 255.255.128.0] - 0 [CIDR] Host address - 192.168.0.1 Host address (decimal) - 3232235521 Host address (hex) - C0A80001 Network address - 192.168.0.0 Network mask - 255.255.128.0 Network mask (bits) - 17 Network mask (hex) - FFFF8000 Broadcast address - 192.168.127.255 Cisco wildcard - 0.0.127.255 Addresses in network - 32768 Network range - 192.168.0.0 - 192.168.127.255 Usable range - 192.168.0.1 - 192.168.127.254 - -[ipv4 : 255.255.192.0] - 0 [CIDR] Host address - 255.255.192.0 Host address (decimal) - 4294950912 Host address (hex) - FFFFC000 Network address - 255.255.192.0 Network mask - 255.255.255.255 Network mask (bits) - 32 Network mask (hex) - FFFFFFFF Broadcast address - 255.255.192.0 Cisco wildcard - 0.0.0.0 Addresses in network - 1 Network range - 255.255.192.0 - 255.255.192.0
Display results as HTML
$ ipcalc -h 192.168.0.1/255.255.128.0
For more options, please refer to man page:
$ man ipcalc
$ man sipcalc
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or full RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in...
- Grokking the GIMP - download free book
- Touring the GIMP - Photoshop for Linux
- Download of the day: Easy date manipulation with yest utility under Linux/UNIX
- VSFTPD cap_set_proc and dead but subsys locked errors and solution
- Linux GIMP 2 Video Tutorials / Learning Demos
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: binary values, broadcast address, broadcast network, counterpart, dns resolutions, fedora linux, hex number, host range, input formats, ip address, ip netmask, ip subnet calculator, ipcalc, ipcalc command, ipv6 addresses, multiple networks, netmask, simplest form, sipcalc_command, standard ipv6, subnet mask, teaching tool, web cgi, wildcard mask ~ Last updated on: March 8, 2008




i am very much help full by this program but in i need another option for IP Range calculate
Woa Sk Shahin Rahman, this article is helpful. Guess what, you work with subnets you really should know how to do binary to decimal and calculate all different type of subnets without these tools if needed, right? They are just for convenience and speed, besides you can use these to calculate ranges.
Actually I just realized that you don’t even need this tool to get range easily. You just look at how many host bits and then your ranges are there counting with however many host bits there are.