根据标题,我有一个工具可以接受 IP 列表或网络范围(CIDR 格式)来执行任务。不幸的是,它不支持从创建的 IP 空间中排除 IP 或范围。
例如,假设我想将整个 IP 空间添加到该工具中;我会说:添加0.0.0.0/0。
但现在假设我想从中排除 192.168.0.0/16;我没有办法做到这一点,所以我需要找到一种方法来创建一个从 0.0.0.0-192.167.255.255 的范围和另一个从 192.169.0.0-255.255.255.255 的范围。这必须使用 CIDR 表示法。
公平地说,通过一些工作我可以弄清楚上述内容。
但问题是,我需要经常执行此操作并排除多个例外,因此我需要找到一种方法来自动执行此操作。
说:从 0.0.0.0/0 中删除 (192.168.1.0/24 192.168.85.1 224.0.0.0/8)
然后,我会根据需要继续添加到括号中的列表中。
然后,这将生成一个 CIDR 范围列表,覆盖整个 0.0.0.0/0 IP 空间,减去上面的排除项。
我找不到任何可以做到这一点的工具,所以正在考虑一个脚本。我不太关心语言:perl、python、PHP、ruby、bash,无论什么,都可以。我只需要解决问题。
有什么指点吗?
谢谢,
京东