查找减去IP

2024-04-30 02:56:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望能够在python中使用netaddr获得一个ip过滤器,但是我不知道如何减去两个ip来创建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对象来过滤两个ip,而不是两组过滤每个ip的范围。在


Tags: 对象infromimportip过滤器foripset
1条回答
网友
1楼 · 发布于 2024-04-30 02:56:05

您要搜索的表达式是allnets - ip。产生“一个过滤两个IP的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 filtered

相关问题 更多 >