Linux - Subnets Calculator

If you need to calculate subnet under Linux use an IP Netmask/broadcast calculator called ipcal & sipcalc.

[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.

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

Comments