
1 hiplon 2020-04-04 11:35:14 +08:00 排个序找到最大最小就很好算了 |
2 ihciah 2020-04-04 11:43:06 +08:00 via iPhone 先转成 /24,再用开源工具合并? |
3 0ZXYDDu796nVCFxq 2020-04-04 11:58:20 +08:00 via Android 把最后一位替换成 0/24,然后去重 |
4 Livid MOD PRO 变成十进制,然后减去 % 256 的结果放进一个 set,最后 set 里的数字转回 IP 就是所有的 /24 |
5 samuel 2020-04-04 12:37:16 +08:00 #! python3 import struct import socket import sys cidr = set() mask = int('0xFFFFFF00', 16) for line in sys.stdin: b = struct.unpack('!I', socket.inet_aton(line))[0] cidr.add(b & mask) for c in cidr: print(socket.inet_ntoa(struct.pack("!I", c)) + '/24') |
6 V69EX 2020-04-04 12:50:08 +08:00 @samuel 楼主提 CIDR 的意思,我觉得应该是可变长的掩码,不是固定的 /24,固定长度的掩码,就没必要提 CIDR 了…… |
7 ladeo 2020-04-04 12:50:10 +08:00 via Android excel 就可以了吧 |
8 trn4 2020-04-04 12:53:46 +08:00 via iPhone 最长公共前缀子串 |
11 webshe11 2020-04-04 14:02:44 +08:00 看着跟 CCF 认证 201812-3 题 CIDR 合并 一样 http://118.190.20.162/view.page?gpid=T82 |
12 RickyHao 2020-04-04 14:23:58 +08:00 via Android import netaddr cidr_list = netaddr.cidr_merge(ip_list) |
13 Laynooor 2020-04-04 14:34:17 +08:00 apt install aggregate yum install aggregate |
14 matrix67 2022-02-18 09:55:06 +08:00 |