Python 通过CIDR地址生成对应的IP地址集 问题
你有一个CIDR网络地址比如“123.45.67.89/27”,你想将其转换成它所代表的所有IP (比如,“123.45.67.64”, “123.45.67.65”, …, “123.45.67.95”))
Python 通过CIDR地址生成对应的IP地址集 解决方案
可以使用 ipaddress
模块很容易的实现这样的计算。例如:
Network
也允许像数组一样的索引取值,例如:
另外,你还可以执行网络成员检查之类的操作:
一个IP地址和网络地址能通过一个IP接口来指定,例如:
Python 通过CIDR地址生成对应的IP地址集 讨论
ipaddress
模块有很多类可以表示IP地址、网络和接口。 当你需要操作网络地址(比如解析、打印、验证等)的时候会很有用。
要注意的是,ipaddress
模块跟其他一些和网络相关的模块比如 socket
库交集很少。 所以,你不能使用 IPv4Address
的实例来代替一个地址字符串,你首先得显式的使用 str()
转换它。例如: