我希望能够在python中使用netaddr获得一个ip过滤器,但是我不知道如何减去两个ips来创建CIDR范围。相反,我得到了两个不同的范围。
from netaddr import *
allnets = IPSet(['0.0.0.0/0'])
ip = IPSet(['8.8.8.8', '8.8.8.4'])
for ips in ip:
print allnets - ip我想要一个IPset对象来过滤两个ips,而不是筛选每个ip的两组范围。
发布于 2016-05-17 18:51:26
您正在搜索的表达式是allnets - ip。生成“过滤两个ips的一个IPset对象”。
考虑一下这个项目:
from netaddr import *
allnets = IPSet(['0.0.0.0/0'])
ip = IPSet(['8.8.8.8', '8.8.8.4'])
filtered = allnets - ip
assert '8.8.8.8' not in filtered
assert '8.8.8.4' not in filtered
assert '8.8.8.7' in filtered
assert '192.0.2.17' in filtered
assert '203.0.113.1' in filteredhttps://stackoverflow.com/questions/37283929
复制相似问题