gpt4 book ai didi

linux - 使用 python 和 netaddr 模块将一组 IP 地址与子网进行比较

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:51 25 4
gpt4 key购买 nike

我可以传递“ip_list”和“banned_subnets”中的文件吗?我有多个 IP 列表,需要与多个子网匹配,并且不可能在脚本中将它们全部列出。为此,我创建了两个文件 ipaddr_list(其中包含 IP 列表)和 sub_list(其中包含子网列表)。

有人可以建议我如何在下面的脚本中得到它:

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

最佳答案

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

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

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

希望您也可以对 banned_subnets 执行同样的操作。

关于linux - 使用 python 和 netaddr 模块将一组 IP 地址与子网进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37136886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com