使用python和netaddr modu比较一组IP地址与子网

2024-04-29 22:04:39 发布

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

我可以在“ip列表”和“禁止的”子网中传递文件吗。我有多个IP列表,需要与多个子网匹配,不可能在脚本中列出它们。为此,我创建了两个文件ipaddr_list,其中包含IP列表,而{}具有子网列表。在

有人能建议我如何在下面的脚本中实现这一点:

import netaddr

ip_list = ['10.22.140.10', '10.11.14.11', '10.71.13.13', '10.10.131.2', '10.12.6.11', '10.1.6.10']

banned_subnets = ['10.1.6.0/24', '10.10.13.0/24', '10.10.14.0/24' ]

new_list = [str(ip) for ip in netaddr.IPSet(ip_list) & (netaddr.IPSet(banned_subnets))]

print new_list

Tags: 文件importip脚本列表newipset建议
1条回答
网友
1楼 · 发布于 2024-04-29 22:04:39

我假设您所说的ip_listbanned_subnets的文件是文本文件,每行都包含一个IP。在

您需要做的是读取这些文本文件并将它们剥离,使它们以列表的形式出现。我将添加一个下面的代码,你可以相应地使用另一个代码。在

with open('ip_list.txt') as f:
    IP_list = [line for line in f]

希望您也能为banned_subnets做同样的事情。在

相关问题 更多 >