代码之家  ›  专栏  ›  技术社区  ›  Robert Zunr

通过子网掩码查找ip范围

  •  1
  • Robert Zunr  · 技术社区  · 8 年前

    假设我的本地ip是 10.212.97.23 255.255.254.0

    10.212.96.* 而CIDR将是 10.212.96.0/23

    所以我的问题是:是否有任何python库接受本地ip和子网掩码并计算CIDR值?我检查了netaddr库,但找不到此功能

    2 回复  |  直到 8 年前
        1
  •  0
  •   v.coder    8 年前

    CIDR中的基本计数可以使用以下函数手动计算,无需使用任何库:

    >>> netmask = "255.255.254.0"
    >>> sum([bin(int(x)).count("1") for x in netmask.split(".")])
    23
    

        2
  •  0
  •   Najlen    8 年前

    如果您想使用模块进行此操作,ipaddress模块可以帮助您:

    ❯ python3
    >>> import ipaddress
    >>> ipaddress.IPv4Network("10.212.97.23/255.255.254.0", strict=False).prefixlen
    23
    

    文档 here

    推荐文章