当前位置: 首页 > backend >正文

网络计算工具ipcalc详解

目录

1. 选项速查表

2. 用法示例

2.1 计算广播地址

2.2 显示 IP 地址对应的主机名

2.3 由给定的 IP 地址计算默认的网络掩码

2.4 显示给定掩码或 IP 地址的前缀长度

2.5 计算网络地址

2.6 验证 IP 地址合法性

2.7 计算网络地址、广播地址和前缀长度(合并输出)

2.8 在脚本中使用 ipcalc 进行网络划分

3. 说明与注意事项


ipcalc 是一个实用的网络计算工具,用于 IP 地址的相关计算和验证。下面我用一个表格汇总它的主要选项和功能,然后通过一些实战案例来展示其用法。

1. 选项速查表

选项 (短格式)选项 (长格式)功能描述使用示例
-c--check验证 IP 地址的合法性ipcalc -c 192.168.1.1
-b--broadcast计算广播地址ipcalc -b 192.168.1.10 255.255.255.0
-h--hostname显示 IP 地址对应的主机名 (通常查询本地配置)ipcalc -h 192.168.1.1
-m--netmask由给定的 IP 地址计算默认的网络掩码ipcalc -m 192.168.1.10
-p--prefix显示给定掩码或 IP 地址的前缀长度ipcalc -p 192.168.1.10 255.255.252.0
-n--network计算网络地址ipcalc -n 192.168.1.10 255.255.252.0
-s--silent安静模式,不显示任何错误信息ipcalc -s 192.168.1.1000 (无效地址时不报错)
-4--ipv4指定 IPv4 地址族 (默认)ipcalc -4 192.168.1.1
-6--ipv6指定 IPv6 地址族ipcalc -6 2001:db8::1
--help显示帮助信息ipcalc --help

2. 用法示例

2.1 计算广播地址

[root@centos79-20251123 ~]# ipcalc -b 192.168.1.10 255.255.255.0
BROADCAST=192.168.1.255

2.2 显示 IP 地址对应的主机名

[root@centos79-20251123 ~]# ipcalc -h  192.168.0.61
HOSTNAME=izbp16dptcafekynqfdw6yz
[root@centos79-20251123 ~]# ipcalc -h   114.114.114.114
HOSTNAME=public1.114dns.com
[root@centos79-20251123 ~]# ipcalc -h   8.8.8.8
HOSTNAME=dns.google

2.3 由给定的 IP 地址计算默认的网络掩码

[root@centos79-20251123 ~]# ipcalc -m 192.168.1.10
NETMASK=255.255.255.0

2.4 显示给定掩码或 IP 地址的前缀长度

[root@centos79-20251123 ~]# ipcalc -p 192.168.1.10 255.255.252.0
PREFIX=22

2.5 计算网络地址

[root@centos79-20251123 ~]# ipcalc -n 192.168.1.10 255.255.252.0
NETWORK=192.168.0.0

2.6 验证 IP 地址合法性

# 验证 IP 地址的合法性
[root@centos79-20251123 ~]# ipcalc -c 192.168.1.1
[root@centos79-20251123 ~]# ipcalc -c 192.168.1.1000
ipcalc: bad IPv4 address: 192.168.1.1000

在脚本中使用 ipcalc 验证用户输入的 IP 地址是否有效非常重要。

#!/bin/bashread -p "请输入一个IP地址: " ip_addressif ipcalc -c -s "$ip_address"; thenecho "✅ IP 地址 $ip_address 有效。"
elseecho "❌ IP 地址 $ip_address 无效!"
fi

输出示例

[root@centos79-20251123 ~]# sh  test.sh
请输入一个IP地址: 192.168.1.900
❌ IP 地址 192.168.1.900 无

2.7 计算网络地址、广播地址和前缀长度(合并输出)

这是 ipcalc 最常见的用途,只需一个命令就能获取网络的关键信息。

# 使用 CIDR 表示法一次性计算多个信息
ipcalc -n -b -p 192.168.56.100/23

输出示例

PREFIX=23
BROADCAST=192.168.57.255
NETWORK=192.168.56.0

2.8 在脚本中使用 ipcalc 进行网络划分

假设你有一个 IP 地址和子网掩码,需要在一个脚本中提取网络地址以供后续使用。

#!/bin/baship_address="192.168.1.68"
netmask="255.255.255.224"# 获取网络地址,并提取其值
network_addr=$(ipcalc -n $ip_address $netmask | cut -d= -f2)echo "IP 地址 $ip_address 属于网络: $network_addr"

输出示例

IP 地址 192.168.1.68 属于网络: 192.168.1.64

3. 说明与注意事项

  • 安装ipcalc 通常预装在大多数 Linux 发行版中。如果系统中没有,可以通过包管理器安装(例如在基于 CentOS的系统上安装initscripts包)。

  • 输出格式ipcalc 的选项输出通常是 KEY=VALUE 的形式,便于在脚本中解析。

  • 主机名查询-h 选项查询的主机名通常依赖于本地的 /etc/hosts 文件或配置的 DNS,并非所有 IP 都能解析到主机名,查询失败时会报错1。

  • 安静模式-s 选项在脚本中处理可能无效的输入时有用,它可以抑制错误输出。

http://www.xdnf.cn/news/20033.html

相关文章:

  • C++11 智能指针的使⽤及其原理
  • A股大盘数据-20250904分析
  • SAP HANA Scale-out 01:表分布
  • Vue.js 面试题集合
  • 钉钉 AI 深度赋能制造业 LTC 全流程:以钉钉宜搭、Teambition 为例
  • 【C++】计算地球上两个地理坐标点之间的距离和航向角
  • 期货市场上证50期权沪深300期权中证500期权那个好?
  • git命令行打patch
  • 支付域——支付与交易概念
  • 龙虎榜——20250904
  • 深度剖析:智能驾驶到底给2025带来了什么
  • 用服务器搭 “私人 AI 助手”:不用联网也能用,支持语音对话 / 文档总结(教程)
  • Hoppscotch:开源轻量API测试工具,秒启动高效解决临时接口测试需求
  • git基础命令 git基础操作
  • PyTorch DDP 随机卡死复盘
  • < 自用文 OS 有关 > (续)发现正在被攻击 后的自救 Fail2ban + IPset + UFW 工作流程详解
  • 十四、STM32-----低功耗
  • 【前端教程】JavaScript DOM 操作案例解析与代码优化
  • 不用服务器也能监控网络:MyIP+cpolar让中小企业告别昂贵方案
  • 【全网最全】《2025国赛/高教杯》C题 思路+代码python和matlab+文献 一到四问 退火算法+遗传算法 NIPT的时点选择与胎儿的异常判定
  • Qt 系统相关 - 1
  • 大整数乘法实现日志:从查表法到逐位运算
  • 基于深度掩码的动态模糊处理
  • 《Html泛型魔法学院:用霍格沃茨风格网页教授集合框架》
  • SpringBoot 集成 MyBatis-Plus 的使用指南
  • 学习PaddlePaddle--环境配置-Windows 11 + RTX 4060
  • 优质技术博客分享(第1期)
  • Beautiful.ai:AI辅助PPT工具高效搞定排版,告别熬夜做汇报烦恼
  • maven settings.xml文件的各个模块、含义以及它们之间的联系
  • 阿瓦隆 A1146 Pro 63T:性能与设计详解,探索区块链挖矿新高度