Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
IPCALC(1)							       IPCALC(1)

NAME
     ipcalc - Perform simple operations on IP addresses and networks

SYNOPSIS
     ipcalc [OPTION]... IP address[/prefix] [netmask]

Description
     ipcalc provides a simple way to calculate IP information for a host or net-
     work. Depending on the options specified, it may be used to provide IP net-
     work 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 should display on stan-
     dard  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.

Options
     *	 -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  ad-
	 dresses 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  speci-
	 fied  prefix.	When combined with no-decorate mode (--no-decorate), the
	 split networks will be printed in  raw  form.	Example  "ipcalc  -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  sup-
	 plied	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 vari-
	 able 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 vari-
	 ables 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  vari-
	 able 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 net-
	 mask. 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 net-
	 work. The variable exposed is ADDRESSES.

     *	 --addrspace Display address space allocation information for  the  pro-
	 vided 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 in-
	 stead of the usual output format.

     *	 -s, --silent Don't ever display error messages.

Examples
   Display all information of an IPv4
     $ ipcalc --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

   Display information in key-value format
     $ ipcalc -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"

   Display all information of an IPv6
     $ ipcalc --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

   Display JSON output
     $ ipcalc --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"
     }

   Lookup of a hostname
     $ ipcalc --lookup-host localhost --no-decorate
     ::1

   IPv4 lookup of a hostname
     $ ipcalc --lookup-host localhost --no-decorate -4
     127.0.0.1

   Reverse lookup of a hostname
     $ ipcalc -h 127.0.0.1 --no-decorate
     localhost

Authors
     *	 Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com

     *	 Erik Troan ewt@redhat.com

     *	 Preston Brown pbrown@redhat.com

     *	 David Cantrell dcantrell@redhat.com

Reporting Bugs
     Report bugs at https://gitlab.com/ipcalc/ipcalc/issues

Copyright
     Copyright	A(C)  1997-2020  Red  Hat,  Inc.  This is free software; see the
     source for copying conditions. There is NO  warranty;  not  even  for  MER-
     CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

				    June 2023			       IPCALC(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ipcalc&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help