《Python 脚本:CIDR 转 IP 区间》

《Python 脚本:CIDR 转 IP 区间》

将 CIDR 格式(如 192.168.0.0/24)的地址转换为对应的 IP 范围区间。

1. 使用 netaddr 库

pip 安装 netaddr 后,脚本可从命令行接收 CIDR,输出首尾 IP:

#!/usr/bin/python3 # pip install netaddr from netaddr import IPNetwork from netaddr import core import sys def main(): try: ipList = IPNetwork(sys.argv[1]) except core.AddrFormatError as e: print(e) sys.exit() cnt = 0 for ip in ipList: if cnt == 1 or cnt == len(ipList) - 1: print('%s' % ip) cnt = cnt + 1 if __name__ == "__main__": if len(sys.argv) == 1: print("please input cidr format ip, eg: 192.168.0.0/23") sys.exit() main()

用法:

python3 cidr.py 192.168.0.0/23

2. 使用 IPy 库展开所有 IP

from IPy import IP ip_list = ["192.168.0.0/24"] for cidr_ip in ip_list: for ip in IP(cidr_ip): print(ip)

说明:示例接口地址已替换为可用的占位网段,实际应用时请按需替换。

阅读 — · 全站 —
🎸 我的歌单 0 首