如何使用ipcalc工具计算IP子网地址

ipcalc是一个命令行工具,可以轻松处理IP地址,并可用于计算给定IP地址的不同网络掩码。

在管理网络时,您无疑需要处理子网。 一些网络管理员能够非常快速地完成二进制数学运算,以确定子网掩码。 但是,其他人可能需要一些帮助,这就是ipcalc工具派上用场的地方。

另请参阅Linux系统管理员的网络管理,故障排除和调试指南

Ipcalc实际上做得更多 - 它需要一个IP地址和网络掩码,并提供最终的广播,网络,思科通配符掩码和主机范围。 您还可以将其用作教学工具,以易于理解的二进制值显示子网划分结果。

ipcalc的一些用途是:

  • 验证IP地址
  • 显示计算的广播地址
  • 显示通过DNS确定的主机名
  • 显示网络地址或前缀

如何在Linux中安装ipcalc

要安装ipcalc ,只需根据您使用的Linux发行版运行以下命令之一。

$ sudo apt install ipcalc  

ipcalc软件包应该在CentOS / RHEL / Fedora下自动安装,它是initscripts软件包的一部分,但是如果由于某种原因缺少它,你可以使用以下命令安装它:

# yum install initscripts     #RHEL/CentOS
# dnf install initscripts     #Fedora

如何在Linux中使用ipcalc

下面你可以看到一些使用ipcalc的例子。

获取有关网络地址的信息:

# ipcalc 192.168.20.0
样本输出
Address:   192.168.20.0         11000000.10101000.00010100. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.20.0/24      11000000.10101000.00010100. 00000000
HostMin:   192.168.20.1         11000000.10101000.00010100. 00000001
HostMax:   192.168.20.254       11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255       11000000.10101000.00010100. 11111111
Hosts/Net: 254                   Class C, Private Internet

计算192.168.20.0/24的子网。

# ipcalc 192.168.20.0/24
样本输出
Address:   192.168.20.0         11000000.10101000.00010100. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.20.0/24      11000000.10101000.00010100. 00000000
HostMin:   192.168.20.1         11000000.10101000.00010100. 00000001
HostMax:   192.168.20.254       11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255       11000000.10101000.00010100. 11111111
Hosts/Net: 254                   Class C, Private Internet

计算具有10个主机的单个子网:

# ipcalc  192.168.20.0 -s 10
样本输出
Address:   192.168.20.0         11000000.10101000.00010100. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   192.168.20.0/24      11000000.10101000.00010100. 00000000
HostMin:   192.168.20.1         11000000.10101000.00010100. 00000001
HostMax:   192.168.20.254       11000000.10101000.00010100. 11111110
Broadcast: 192.168.20.255       11000000.10101000.00010100. 11111111
Hosts/Net: 254                   Class C, Private Internet

1. Requested size: 10 hosts
Netmask:   255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
Network:   192.168.20.0/28      11000000.10101000.00010100.0000 0000
HostMin:   192.168.20.1         11000000.10101000.00010100.0000 0001
HostMax:   192.168.20.14        11000000.10101000.00010100.0000 1110
Broadcast: 192.168.20.15        11000000.10101000.00010100.0000 1111
Hosts/Net: 14                    Class C, Private Internet

Needed size:  16 addresses.
Used network: 192.168.20.0/28
Unused:
192.168.20.16/28
192.168.20.32/27
192.168.20.64/26
192.168.20.128/25

如果要抑制二进制输出,可以使用-b选项,如图所示。

# ipcalc -b 192.168.20.100
样本输出
Address:   192.168.20.100
Netmask:   255.255.255.0 = 24
Wildcard:  0.0.0.255
=>
Network:   192.168.20.0/24
HostMin:   192.168.20.1
HostMax:   192.168.20.254
Broadcast: 192.168.20.255
Hosts/Net: 254                   Class C, Private Internet

要了解有关ipcalc用法的更多信息,您可以使用:

# ipcalc --help
# man ipcalc

您可以在http://jodies.de/ipcalc找到官方的ipcalc网站。

结论

这是一个简单的教程,展示了如何使用ipcalc工具和一些基本示例。 如果您有任何问题或建议,请务必在下面的评论部分提交。