Linux:可帮助您进行网络设置的IP子网(CIDR)计算器

时间:2020-01-09 10:41:59  来源:igfitidea点击:

有没有什么IP子网计算器?
使用什么Linux命令可以计算可用主机地址范围的工具。
在不访问第三方网站的情况下,如何在Linux或者UNIX之类的系统下使用子网计算器?类似于Linux和Unix的系统带有各种IP子网计算器,可以帮助您进行网络设置:

  • Sipcalc是基于控制台的高级IP子网计算器。最简单的形式是在CLI上使用IP地址和子网掩码,并输出有关子网的信息。

Sipcalc IPv4功能:

  • 从接口检索地址信息。
  • 分类和CIDR输出。
  • 多种地址和网络掩码格式(点分四边形,十六进制,位数)。
  • 广播地址,网络类别,Cisco通配符,主机/范围,网络范围的输出。
  • 用户定义数量的额外网络的输出。
  • 基于较小的网络掩码拆分网络的功能,现在还可以在生成的子网上进行递归运行。
  • DNS解析。

Sipcalc IPv6功能:

  • 压缩和扩展的输入地址。

  • 压缩和扩展输出。

  • 标准IPv6网络输出。

  • 反向DNS地址生成。

  • 基于较小的网络掩码拆分网络的功能,现在还可以在生成的子网上进行递归运行。

  • DNS解析。

  • Whatmask是另一个工具,可以帮助您进行网络设置。
    给定IP地址和/或者网络掩码,它将显示以下信息:

  • 下列格式的网络掩码:CIDR,网络掩码,十六进制,通配符位

  • 网络地址

  • 广播地址

  • 可用IP地址的数量

  • 第一个可用的IP地址

  • 最后可用的IP地址

在本教程中,我将解释如何安装和使用这两个工具。

Sipcalc安装

您可以使用apt-get命令在Debian或者Ubuntu Linux上按以下方式安装它:

$ sudo apt-get update
$ sudo apt-get install sipcalc

在CentOS/RHEL/Fedora Linux上,执行以下yum命令(首先启用EPEL存储库):

# yum install sipcalc

在FreeBSD Unix操作系统上,执行以下命令以通过端口安装sipcalc

# cd /usr/ports/net-mgmt/sipcalc/ && make install clean

或者添加包装

# pkg install net-mgmt/sipcalc

如何使用sipcalc命令计算子网?

这是一个例子:

$ sipcalc 192.168.1.0/24

输出示例:

-[ipv4 : 192.168.1.0/24] - 0
 
[CIDR]
Host address		- 192.168.1.0
Host address (decimal)	- 3232235776
Host address (hex)	- C0A80100
Network address		- 192.168.1.0
Network mask		- 255.255.255.0
Network mask (bits)	- 24
Network mask (hex)	- FFFFFF00
Broadcast address	- 192.168.1.255
Cisco wildcard		- 0.0.0.255
Addresses in network	- 256
Network range		- 192.168.1.0 - 192.168.1.255
Usable range		- 192.168.1.1 - 192.168.1.254

上面将提供网络开始和停止范围,通配符,掩码和其他信息。
您可以如下计算192.168.1.0/24子网:

$ sipcalc -a 192.168.1.0/24

接口特定的计算示例

arg sipcalc可以通过查看系统上的指定接口来获取相关信息,而不是从shell命令行获取地址信息。
在此示例中,获取基于Linux的系统上eth0接口的信息:

$ sipcalc eth0

输出示例:

-[int-ipv4 : eth0] - 0

[CIDR]
Host address		- 192.168.3.254
Host address (decimal)	- 3232236542
Host address (hex)	- C0A803FE
Network address		- 192.168.3.0
Network mask		- 255.255.255.0
Network mask (bits)	- 24
Network mask (hex)	- FFFFFF00
Broadcast address	- 192.168.3.255
Cisco wildcard		- 0.0.0.255
Addresses in network	- 256
Network range		- 192.168.3.0 - 192.168.3.255
Usable range		- 192.168.3.1 - 192.168.3.254

要了解有关其选项类型的更多信息:

$ sipcalc --help

输出示例:

sipcalc 1.1.6
 
Usage: sipcalc [OPTIONS]... <[ADDRESS]... [INTERFACE]... | [-]>
 
Global options:
  -a, --all			All possible information.
  -d, --resolve			Enable name resolution.
  -h, --help			Display this help.
  -I, --addr-int=INT		Added an interface.
  -n, --subnets=NUM		Display NUM extra subnets (starting from
				the current subnet). Will display all subnets
				in the current /24 if NUM is 0.
  -u, --split-verbose		Verbose split.
  -v, --version			Version information.
  -4, --addr-ipv4=ADDR		Add an ipv4 address.
  -6, --addr-ipv6=ADDR		Add an ipv6 address.
 
IPv4 options:
  -b, --cidr-bitmap		CIDR bitmap.
  -c, --classful-addr		Classful address information.
  -i, --cidr-addr		CIDR address information. (default)
  -s, --v4split=MASK		Split the current network into subnets
				of MASK size.
  -w, --wildcard		Display information for a wildcard
				(inverse mask).
  -x, --classful-bitmap	Classful bitmap.
 
IPv6 options:
  -e, --v4inv6			IPv4 compatible IPv6 information.
  -r, --v6rev			IPv6 reverse DNS output.
  -S, --v6split=MASK		Split the current network into subnets
				of MASK size.
  -t, --v6-standard		Standard IPv6. (default)
 
Address must be in the "standard" dotted quad format.
Netmask can be given in three different ways:
- Number of bits    [/nn]
- Dotted quad       [nnn.nnn.nnn.nnn]
- Hex               [0xnnnnnnnn | nnnnnnnn]
 
Interface must be a valid network interface on the system.
If this options is used an attempt will be made to gain the address
and netmask from the specified interface.
 
Replacing address/interface with '-' will use stdin for reading further
arguments.

whatmask实用工具

whatmask工具可以轻松地在三种常见的子网掩码表示法之间进行转换。

whatmask命令安装

您可以使用yum命令在CentOS/RHEL/Fedora Linux上按以下方式安装它:

# yum install whatmask

在基于FreeBSD的Unix服务器上,您可以通过以下端口进行安装:

# cd /usr/ports/net-mgmt/whatmask/ && make install clean

或者添加包装

# pkg install net-mgmt/whatmask

最后,您也可以按以下方式下载和编译源代码:

$ cd /tmp
$ wget http://downloads.laffeycomputer.com/current_builds/whatmask/whatmask-1.2.tar.gz
$ tar -zxvf whatmask-1.2.tar.gz
$ cd whatmask-1.2/
$ ./configure
$ make
$ sudo make install

如何使用whatmask工具?

您可以按以下方式使用它来查找带有/29子网的可用IP地址:

$ whatmask {netmask}
$ whatmask {ip/netmask}
$ whatmask /29

输出示例:

--------------------------------------------
       TCP/IP SUBNET MASK EQUIVALENTS
--------------------------------------------
CIDR = .....................: /29
Netmask = ..................: 255.255.255.248
Netmask (hex) = ............: 0xfffffff8
Wildcard Bits = ............: 0.0.0.7
Usable IP Addresses = ......: 6

或者使用ip/netmask语法:

$ whatmask 192.54.1.2/27

输出示例:

-----------------------------------------------
           TCP/IP NETWORK INFORMATION
-----------------------------------------------
IP Entered = ..................: 192.54.1.2
CIDR = ........................: /27
Netmask = .....................: 255.255.255.224
Netmask (hex) = ...............: 0xffffffe0
Wildcard Bits = ...............: 0.0.0.31
-----------------------------------------------
Network Address = .............: 192.54.1.0
Broadcast Address = ...........: 192.54.1.31
Usable IP Addresses = .........: 30
First Usable IP Address = .....: 192.54.1.1
Last Usable IP Address = ......: 192.54.1.30