How to display IPv4 network information

Display IPv4 network information for given address and netmask. Split networks, calculate subnetnetworks and supernetworks and convert address range.

Install required software

Install ipcalc utility.

$ sudo apt-get install ipcalc

Display IPv4 network information

Display 10.0.0.1/8 network information.

$ ipcalc 10.0.0.1/255.0.0.0
Address:   10.0.0.1             00001010. 00000000.00000000.00000001
Netmask:   255.0.0.0 = 8        11111111. 00000000.00000000.00000000
Wildcard:  0.255.255.255        00000000. 11111111.11111111.11111111
=>
Network:   10.0.0.0/8           00001010. 00000000.00000000.00000000
HostMin:   10.0.0.1             00001010. 00000000.00000000.00000001
HostMax:   10.255.255.254       00001010. 11111111.11111111.11111110
Broadcast: 10.255.255.255       00001010. 11111111.11111111.11111111
Hosts/Net: 16777214              Class A, Private Internet

Display 172.16.0.1/12 network information.

$ ipcalc 172.16.0.1/12
Address:   172.16.0.1           10101100.0001 0000.00000000.00000001
Netmask:   255.240.0.0 = 12     11111111.1111 0000.00000000.00000000
Wildcard:  0.15.255.255         00000000.0000 1111.11111111.11111111
=>
Network:   172.16.0.0/12        10101100.0001 0000.00000000.00000000
HostMin:   172.16.0.1           10101100.0001 0000.00000000.00000001
HostMax:   172.31.255.254       10101100.0001 1111.11111111.11111110
Broadcast: 172.31.255.255       10101100.0001 1111.11111111.11111111
Hosts/Net: 1048574               Class B, Private Internet

Display 192.168.0.1/16 network information.

$ ipcalc 192.168.0.1/16
Address:   192.168.0.1          11000000.10101000. 00000000.00000001
Netmask:   255.255.0.0 = 16     11111111.11111111. 00000000.00000000
Wildcard:  0.0.255.255          00000000.00000000. 11111111.11111111
=>
Network:   192.168.0.0/16       11000000.10101000. 00000000.00000000
HostMin:   192.168.0.1          11000000.10101000. 00000000.00000001
HostMax:   192.168.255.254      11000000.10101000. 11111111.11111110
Broadcast: 192.168.255.255      11000000.10101000. 11111111.11111111
Hosts/Net: 65534                 Class C, Private Internet

Display 84.16.240.28/26 network information.

$ ipcalc 84.16.240.28/26
Address:   84.16.240.28         01010100.00010000.11110000.00 011100
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard:  0.0.0.63             00000000.00000000.00000000.00 111111
=>
Network:   84.16.240.0/26       01010100.00010000.11110000.00 000000
HostMin:   84.16.240.1          01010100.00010000.11110000.00 000001
HostMax:   84.16.240.62         01010100.00010000.11110000.00 111110
Broadcast: 84.16.240.63         01010100.00010000.11110000.00 111111
Hosts/Net: 62                    Class A

Display IPv4 subnetworks and supernetworks information

Calculate IPv4 supernetwork.

$ ipcalc 10.120.25.1/24 /18
Address:   10.120.25.1          00001010.01111000.00011001. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.120.25.0/24       00001010.01111000.00011001. 00000000
HostMin:   10.120.25.1          00001010.01111000.00011001. 00000001
HostMax:   10.120.25.254        00001010.01111000.00011001. 11111110
Broadcast: 10.120.25.255        00001010.01111000.00011001. 11111111
Hosts/Net: 254                   Class A, Private Internet

Supernet

Netmask:   255.255.192.0 = 18   11111111.11111111.11 000000.00000000
Wildcard:  0.0.63.255           00000000.00000000.00 111111.11111111

Network:   10.120.0.0/18        00001010.01111000.00 000000.00000000
HostMin:   10.120.0.1           00001010.01111000.00 000000.00000001
HostMax:   10.120.63.254        00001010.01111000.00 111111.11111110
Broadcast: 10.120.63.255        00001010.01111000.00 111111.11111111
Hosts/Net: 16382                 Class A, Private Internet

Calculate IPv4 subnernetworks.

$ ipcalc 10.120.25.1/24 /25
Address:   10.120.25.1          00001010.01111000.00011001. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.120.25.0/24       00001010.01111000.00011001. 00000000
HostMin:   10.120.25.1          00001010.01111000.00011001. 00000001
HostMax:   10.120.25.254        00001010.01111000.00011001. 11111110
Broadcast: 10.120.25.255        00001010.01111000.00011001. 11111111
Hosts/Net: 254                   Class A, Private Internet

Subnets after transition from /24 to /25

Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111

 1.
Network:   10.120.25.0/25       00001010.01111000.00011001.0 0000000
HostMin:   10.120.25.1          00001010.01111000.00011001.0 0000001
HostMax:   10.120.25.126        00001010.01111000.00011001.0 1111110
Broadcast: 10.120.25.127        00001010.01111000.00011001.0 1111111
Hosts/Net: 126                   Class A, Private Internet

 2.
Network:   10.120.25.128/25     00001010.01111000.00011001.1 0000000
HostMin:   10.120.25.129        00001010.01111000.00011001.1 0000001
HostMax:   10.120.25.254        00001010.01111000.00011001.1 1111110
Broadcast: 10.120.25.255        00001010.01111000.00011001.1 1111111
Hosts/Net: 126                   Class A, Private Internet


Subnets:   2
Hosts:     252

Split IPv4 network

Split 192.168.1.0/24 to two networks of size 126 hosts.

$ ipcalc 192.168.1.0/24 --split 126 126
Address:   192.168.1.0          11000000.10101000.00000001. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.1.0/24       11000000.10101000.00000001. 00000000
HostMin:   192.168.1.1          11000000.10101000.00000001. 00000001
HostMax:   192.168.1.254        11000000.10101000.00000001. 11111110
Broadcast: 192.168.1.255        11000000.10101000.00000001. 11111111
Hosts/Net: 254                   Class C, Private Internet

1. Requested size: 126 hosts
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Network:   192.168.1.0/25       11000000.10101000.00000001.0 0000000
HostMin:   192.168.1.1          11000000.10101000.00000001.0 0000001
HostMax:   192.168.1.126        11000000.10101000.00000001.0 1111110
Broadcast: 192.168.1.127        11000000.10101000.00000001.0 1111111
Hosts/Net: 126                   Class C, Private Internet

2. Requested size: 126 hosts
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Network:   192.168.1.128/25     11000000.10101000.00000001.1 0000000
HostMin:   192.168.1.129        11000000.10101000.00000001.1 0000001
HostMax:   192.168.1.254        11000000.10101000.00000001.1 1111110
Broadcast: 192.168.1.255        11000000.10101000.00000001.1 1111111
Hosts/Net: 126                   Class C, Private Internet

Needed size:  256 addresses.
Used network: 192.168.1.0/24
Unused:

Notice, it is 126 usable hosts addresses, so it does not include network and broadcast addresses.

Split 10.30.10.1/24 to three networks of size 6, 50 and 25 hosts.

$ ipcalc 10.30.10.1/24 --split 6 50 25
Address:   10.30.10.1           00001010.00011110.00001010. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.30.10.0/24        00001010.00011110.00001010. 00000000
HostMin:   10.30.10.1           00001010.00011110.00001010. 00000001
HostMax:   10.30.10.254         00001010.00011110.00001010. 11111110
Broadcast: 10.30.10.255         00001010.00011110.00001010. 11111111
Hosts/Net: 254                   Class A, Private Internet

1. Requested size: 6 hosts
Netmask:   255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Network:   10.30.10.96/29       00001010.00011110.00001010.01100 000
HostMin:   10.30.10.97          00001010.00011110.00001010.01100 001
HostMax:   10.30.10.102         00001010.00011110.00001010.01100 110
Broadcast: 10.30.10.103         00001010.00011110.00001010.01100 111
Hosts/Net: 6                     Class A, Private Internet

2. Requested size: 50 hosts
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Network:   10.30.10.0/26        00001010.00011110.00001010.00 000000
HostMin:   10.30.10.1           00001010.00011110.00001010.00 000001
HostMax:   10.30.10.62          00001010.00011110.00001010.00 111110
Broadcast: 10.30.10.63          00001010.00011110.00001010.00 111111
Hosts/Net: 62                    Class A, Private Internet

3. Requested size: 25 hosts
Netmask:   255.255.255.224 = 27 11111111.11111111.11111111.111 00000
Network:   10.30.10.64/27       00001010.00011110.00001010.010 00000
HostMin:   10.30.10.65          00001010.00011110.00001010.010 00001
HostMax:   10.30.10.94          00001010.00011110.00001010.010 11110
Broadcast: 10.30.10.95          00001010.00011110.00001010.010 11111
Hosts/Net: 30                    Class A, Private Internet

Needed size:  104 addresses.
Used network: 10.30.10.0/25
Unused:
10.30.10.104/29
10.30.10.112/28
10.30.10.128/25

It will leave three unused networks: 10.30.10.104/29 (6 hosts), 10.30.10.112/28 (14 hosts) and 10.30.10.128/25 (126 hosts).

Convert IPv4 address range to CIDR notation

Convert IPv4 address range of 10.100.10.0 to 10.100.10.255.

$ ipcalc 10.100.10.0-10.100.10.255
deaggregate 10.100.10.0 - 10.100.10.255
10.100.10.0/24

Convert IPv4 address range of 84.16.240.0 to 84.16.240.63.

$ ipcalc --range 84.16.240.0 84.16.240.63
deaggregate 84.16.240.0 - 84.16.240.63
84.16.240.0/26

Additional options

Use --nobinary option to supress the bitwise output.

$ ipcalc --nobinary --nocolor  84.16.240.1/26
Address:   84.16.240.1          
Netmask:   255.255.255.192 = 26 
Wildcard:  0.0.0.63             
=>
Network:   84.16.240.0/26       
HostMin:   84.16.240.1          
HostMax:   84.16.240.62         
Broadcast: 84.16.240.63         
Hosts/Net: 62                    Class A

Use --nocolor option to disable color output.

Milosz Galazka's Picture

About Milosz Galazka

Milosz is a Linux Foundation Certified Engineer working for a successful Polish company as a system administrator and a long time supporter of Free Software Foundation and Debian operating system. He is also open for new opportunities and challenges.

Gdansk, Poland https://sleeplessbeastie.eu