在python程序中创建IPSet

在python程序中创建IPSet,python,Python,我想编写python代码,将流量模式(即IP范围、端口和协议)作为输入,并确定该模式是否被防火墙策略接受或拒绝 我认为使用IPSets会有所帮助。特别是,我想到了使用hash:net,port 当我试图在代码中创建这样一个集合时,我得到了一个无效的语法错误 这是我正在使用的语法: ipset -N -exist contract hash:net,port 我还尝试: ipset create -exist contract hash:net,port 您可以查看我需要执行的集合操作(集合减

我想编写python代码,将流量模式(即IP范围、端口和协议)作为输入,并确定该模式是否被防火墙策略接受或拒绝

我认为使用IPSets会有所帮助。特别是,我想到了使用
hash:net,port

当我试图在代码中创建这样一个集合时,我得到了一个无效的语法错误

这是我正在使用的语法:

ipset -N -exist contract hash:net,port
我还尝试:

ipset create -exist contract hash:net,port

您可以查看我需要执行的集合操作(集合减号、并集、交集)。ipaddress模块是否支持此功能?I,改进其格式,或帮助人们理解您的问题,并帮助您获得适当的答案。但是,您可能仍然需要添加更多信息,才能完全解决您的问题。您可以向我们展示您的代码吗?这些命令不是Python语法,因此,如果您逐字尝试,那么收到语法错误也就不足为奇了。包括您的代码和您收到的确切错误消息。你可能不可能做你想做的事;内核防火墙工具通常不提供以这种方式测试规则集的工具。
Adding and removing set elements:
    s1 = IPSet()
    s1.add('192.0.2.0')
    IPSet(['192.0.2.0/32'])
Here is a simple arbitrary IP address range:
    iprange = IPRange('192.0.1.255', '192.0.2.16')
We can see the CIDR networks that can existing with this defined range:
    iprange.cidrs()
    [IPNetwork('192.0.1.255/32')
    IPNetwork('192.0.2.0/28')
    IPNetwork('192.0.2.16/32')]