ipcalc-ng - Perform simple operations on IP addresses and
networks
ipcalc-ng [OPTION]... IP address[/prefix]
[netmask]
ipcalc-ng provides a simple way to calculate IP information
for a host or network. Depending on the options specified, it may be used to
provide IP network information in human readable format, in a format
suitable for parsing in scripts, generate random private addresses, resolve
an IP address, or check the validity of an address.
By default or when the --info or --all-info
parameters are specified the information provided is free form and human
readable. Otherwise the output is JSON formatted when -j is
specified, or when specific options are given (e.g., --prefix) the
output is in the VAR=VALUE format.
The various options specify what information ipcalc-ng
should display on standard output. Multiple options may be specified. It is
required to specify an IP address; several operations require a netmask or a
CIDR prefix as well.
- ○
- -c, --check Validate the IP address under the specified
family.
- ○
- -i, --info Display generic information on the provided
network in human readable format. This is the default option if no other
options are provided.
- ○
- --all-info Display verbose information on the provided network and
addresses in human readable format. That includes GeoIP information.
- ○
- -S, --split Split the provided network using the specified
prefix or netmask. That is, split up the network into smaller chunks of a
specified prefix. When combined with no-decorate mode
(--no-decorate), the split networks will be printed in raw form.
Example "ipcalc-ng -S 26 192.168.1.0/24".
- ○
- -d, --deaggregate Deaggregates the provided address range.
That is, print the networks that cover the range. The range is given using
the '-' separator, e.g., "192.168.1.3-192.168.1.23". When
combined with no-decorate mode (--no-decorate), the networks are
printed in raw form.
- ○
- -r, --random-private Generate a random private address using
the supplied prefix or mask. By default it displays output in human
readable format, but may be combined with other options (e.g.,
--network) to display specific information in VAR=VALUE
format.
- ○
- -h, --hostname Display the hostname for the given IP
address. The variable exposed is HOSTNAME.
- ○
- -o, --lookup-host Display the IP address for the given
hostname. The variable exposed is ADDRESS.
- ○
- -4, --ipv4 Explicitly specify the IPv4 address family.
- ○
- -6, --ipv6 Explicitly specify the IPv6 address family.
- ○
- -b, --broadcast Display the broadcast address for the given
IP address and netmask. The variable exposed is BROADCAST (if
available).
- ○
- -a, --address Display the IP address for the given input.
The variable exposed is ADDRESS (if available).
- ○
- -g, --geoinfo Display geographic information for the given
IP address. This option requires libGeoIP/libmaxminddb to be available.
The variables exposed are COUNTRYCODE, COUNTRY, CITY and COORDINATES (when
available).
- ○
- -m, --netmask Calculate the netmask for the given IP
address. If no mask or prefix is provided, in IPv6 a 128-bit mask is
assumed, while in IPv4 it assumes that the IP address is in a complete
class A, B, or C network. Note, however, that many networks no longer use
the default netmasks in IPv4. The variable exposed is NETMASK.
- ○
- -p, --prefix Show the prefix for the given mask/IP address.
The variable exposed is PREFIX.
- ○
- --class-prefix Assign the netmask of the provided IPv4 address
based on the address class. This was the default in previous versions of
this software.
- ○
- -n, --network Display the network address for the given IP
address and netmask. The variable exposed is NETWORK.
- ○
- --reverse-dns Display the reverse DNS for the given IP address and
netmask. The variable exposed is REVERSEDNS.
- ○
- --minaddr Display the minimum host address in the provided network.
The variable exposed is MINADDR.
- ○
- --maxaddr Display the maximum host address in the provided network.
The variable exposed is MAXADDR.
- ○
- --addresses Display the number of host addresses in the provided
network. The variable exposed is ADDRESSES.
- ○
- --addrspace Display address space allocation information for the
provided network. The variable exposed is ADDRSPACE.
- ○
- --no-decorate Print only the requested information. That when
combined with split networks option, will only print the networks without
any additions for readability.
- ○
- -j, --json When used with -i or -S, print the info as a JSON
object instead of the usual output format.
- ○
- -s, --silent Don't ever display error messages.
-
$ ipcalc-ng --all-info 193.92.150.2/24
Address: 193.92.150.2
Network: 193.92.150.0/24
Netmask: 255.255.255.0 = 24
Broadcast: 193.92.150.255
Reverse DNS: 150.92.193.in-addr.arpa.
Address space: Internet
Address class: Class C
HostMin: 193.92.150.1
HostMax: 193.92.150.254
Hosts/Net: 254
Country code: GR
Country: Greece
$ ipcalc-ng -pnmb --minaddr --maxaddr --geoinfo --addrspace 193.92.150.2/255.255.255.224
NETMASK=255.255.255.224
PREFIX=27
BROADCAST=193.92.150.31
NETWORK=193.92.150.0
MINADDR=193.92.150.1
MAXADDR=193.92.150.30
ADDRSPACE="Internet"
COUNTRY="Greece"
$ ipcalc-ng --all-info 2a03:2880:20:4f06:face:b00c:0:14/64
Full Address: 2a03:2880:0020:4f06:face:b00c:0000:0014
Address: 2a03:2880:20:4f06:face:b00c:0:14
Full Network: 2a03:2880:0020:4f06:0000:0000:0000:0000/64
Network: 2a03:2880:20:4f06::/64
Netmask: ffff:ffff:ffff:ffff:: = 64
Reverse DNS: 6.0.f.4.0.2.0.0.0.8.8.2.3.0.a.2.ip6.arpa.
Address space: Global Unicast
HostMin: 2a03:2880:20:4f06::
HostMax: 2a03:2880:20:4f06:ffff:ffff:ffff:ffff
Hosts/Net: 2^(64) = 18446744073709551616
Country code: IE
Country: Ireland
$ ipcalc-ng --all-info -j 2a03:2880:20:4f06:face:b00c:0:14/64
{
"FULLADDRESS":"2a03:2880:0020:4f06:face:b00c:0000:0014",
"ADDRESS":"2a03:2880:20:4f06:face:b00c:0:14",
"FULLNETWORK":"2a03:2880:0020:4f06:0000:0000:0000:0000",
"NETWORK":"2a03:2880:20:4f06::",
"NETMASK":"ffff:ffff:ffff:ffff::",
"PREFIX":"64",
"REVERSEDNS":"6.0.f.4.0.2.0.0.0.8.8.2.3.0.a.2.ip6.arpa.",
"ADDRSPACE":"Global Unicast",
"MINADDR":"2a03:2880:20:4f06::",
"MAXADDR":"2a03:2880:20:4f06:ffff:ffff:ffff:ffff",
"ADDRESSES":"18446744073709551616",
"COUNTRYCODE":"IE",
"COUNTRY":"Ireland",
"COORDINATES":"53.000000,-8.000000"
}
$ ipcalc-ng --lookup-host localhost --no-decorate
::1
$ ipcalc-ng --lookup-host localhost --no-decorate -4
127.0.0.1
$ ipcalc-ng -h 127.0.0.1 --no-decorate
localhost
- ○
- Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com
- ○
- Erik Troan ewt@redhat.com
- ○
- Preston Brown pbrown@redhat.com
- ○
- David Cantrell dcantrell@redhat.com
-
Report bugs at https://gitlab.com/ipcalc/ipcalc/issues
Copyright © 1997-2020 Red Hat, Inc. This is free software;
see the source for copying conditions. There is NO warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.