这个问题是更大项目的一部分。让我先从项目开始。这也许有助于解释我想要达到的目标。我工作的公司有很多AWS帐户,这些帐户有很多安全组(sg)。因此他们有很多出入境规则。问题是有太多相互重叠的规则。你知道吗
例如:在一个sg中有一个允许10.0.1.0/24端口入站访问的规则,比如说1234。但同时还有另一条规则,允许10.0.0.0/16访问所有端口。前一条规则显然不是必需的。现在你可以尽情发挥你的想象力,考虑其他安全组、单个IP、入站和出站访问等等。你知道吗
如果我必须手动操作,那将是一场噩梦。所以,我决定用编程的方式来做。这几天我正在尝试Python脚本,这似乎是一个完美的开始。但我还停留在第一阶段。要做到这一点,我想我需要一种方法来比较三件事
谷歌搜索第一点,给我看了几个结果。我想我会选择ipaddress模块。但我想不出第二点的方法。我试着成为一个聪明的a$$和实验,但没有成功。你知道吗
>>> import ipaddress
>>> network1 = u'10.0.0.0/16'
>>> ipaddress1 = u'10.0.1.10'
>>> ipaddress.ip_address(ipaddress1) in ipaddress.ip_network(network1)
True
>>>
>>> network2 = u'10.0.1.0/24'
>>> ipaddress.ip_network(network2) in ipaddress.ip_network(network1)
False
>>>
就是这样。我希望我已经解释了这个问题,如果没有请告诉我。我会尽力提供更多的信息。你知道吗
任何帮助都将不胜感激。同时,我也很想知道如何着手解决整个项目。我认为可以肯定这是一个非常普遍的问题。你知道吗
谢谢你抽出时间。你知道吗
您可以尝试使用
overlaps()
但这还不够,因为它是双向的:
所以我们也可以检查前缀长度:
相关问题 更多 >
编程相关推荐