IP 段与 CIDR 互转

IP 段与 CIDR 互转

起止 IP 与 CIDR 互转,多段自动合并、支持扣除

浏览器本地计算

每行一条,CIDR、起止区间、单个地址都认;改输出格式就能在 CIDR 与区间之间来回换。

每行可以写 CIDR、起止区间或单个地址,IPv4 与 IPv6 都支持,两者不会互相合并。

示例

输入

10.0.0.0/24
10.0.1.0/24
10.0.3.7-10.0.3.9

示例结果

10.0.0.0/23
10.0.3.7/32
10.0.3.8/31

前两段首尾相接,合成了 10.0.0.0/23;第三段没有按 2 的幂对齐,用两块拼出来。

技术细节与边界

地址一律转成整数参与计算,IPv4 与 IPv6 都用 JavaScript 的 BigInt,所以 IPv6 的 128 位不会丢精度。合并是先按起点排序再扫一遍,相邻判定用「下一段起点 ≤ 当前终点 + 1」。区间转 CIDR 时从起点开始,每次取在对齐前提下不超过终点的最大块,得到的是块数最少的拆分。扣除按区间求差,结果再按原格式输出。

关于此工具

把一批 IP 段整理成可以直接用的列表:每行写 CIDR、起止区间或单个地址,工具排序后合并重叠与首尾相接的段,再按 CIDR、起止区间或明细三种格式输出。还可以从一组段里扣除另一组,用来生成白名单或排除表。IPv4 与 IPv6 都支持,两者各自合并、不会混在一起。全部在浏览器里计算,地址列表不会离开本机。

适用场景

  • 把一堆零散的 IP 段合并成最少的 CIDR,写进防火墙或 ACL。
  • 从一个大段里扣掉几段,生成排除表或白名单。
  • 核对一个 CIDR 的起止地址、掩码和可用主机数。

操作步骤

  1. 在列表里逐行填入 IP 段,CIDR、起止区间和单个地址可以混着写。
  2. 选操作:只合并,或者再从结果里扣除另一组段。
  3. 选输出格式:CIDR、起止区间,或带掩码与主机数的明细。
  4. 结果可以直接复制,或用下方按钮存成文本文件。

注意事项

合并只在同一个地址族内进行,IPv4 与 IPv6 各算各的。相邻的段会被并成一条(10.0.0.0/24 与 10.0.1.0/24 合成 10.0.0.0/23),如果你需要保留原来的边界,请改用起止区间输出。明细里的掩码、网络地址和广播地址只对 IPv4 且正好是一个 CIDR 块时给出;/31 与 /32 没有独立的网络号与广播地址,不会列出。本工具只做地址计算,不查归属地也不探测连通性。

常见问题

IPv4 CIDR网段有多少个地址怎么计算?
IPv4网段的地址总数等于2的主机位数次方,主机位数为32减前缀长度。例如/24含256个地址;这是整个地址区间的数量,可用主机数还取决于网络用途与前缀规则,不能一律直接减2。
IPv6 网段计算会丢失128位精度吗?
本工具用BigInt整数处理IPv6地址,避免把128位地址转成浮点数而丢失精度。例如/64含2的64次方个地址;区间合并与扣除也使用整数边界,但不判断这些地址实际是否已分配或可访问。
IP 区间转CIDR为什么会拆成多个网段?
任意IP区间只有符合对齐边界和块大小时才能用单个CIDR表示。比如4个地址组成1块还必须满足起点对齐;工具逐次选取不越过终点的最大块,生成覆盖原区间的最少块数,不额外包含区间外地址。

相关工具

IP 段与 CIDR 互转 · 起止 IP 与 CIDR 互转,多段自动合并、支持扣除
IP 段与 CIDR 互转 — 工具示意图 · dayeku.com