将IP范围转换为CIDR表示法的模块、脚本或算法

3 投票
2 回答
3963 浏览
提问于 2025-04-16 14:11

我该怎么把很多个IP范围转换成CIDR表示法呢?我找到的只有一个ip2cidr服务,但是我有超过20万个IP记录。

2 个回答

0

使用 netaddr 库:

from netaddr import *
ips = ['192.168.37.111', '192.168.37.112']
all_ips = list(iter_iprange(ips[0], ips[1]))
ip_address = cidr_merge(all_ips)
cidr = []
for ip in ip_address:
    cidr.append(str(ip.cidr))
3

这是一个链接,指向Python的一个包管理网站,网址是 http://pypi.python.org/pypi?%3Aaction=search&term=cidr&submit=search。在这个网站上,你可以搜索与“cidr”相关的Python库。简单来说,CIDR是一种用来表示IP地址的方式,可能在网络编程中会用到。

撰写回答