计算ip白名单/黑名单

故事的开头是:为了安全,服务器访问应该配置一个可以访问的白名单。

过了几天,运维组提要求:得把开发的网段给剔出去,但是还要留几个ip给开发负责验证的用。

偏偏管理平台功能有限,只能设置成白名单。我这一想,如果把服务器当成头顶,可以访问的ip当做头发,那么这可是个新鲜的西洋景:

计算ip白名单/黑名单_第1张图片

搞笑归搞笑,正事还是要干的,手工编ip太麻烦了,于是写了一段bug。基本思路是这样的:

假如中间那根头发丝和地中那个海是172.1.2.3/8,换算成二进制,分别是10101100000000010000001000000011和10101100000000000000000000000000,那么先要把海挖出来,然后直接把头发丝放进去就行了。挖海算白名单的时候,转换成二进制从高位开始,前边一样,当前位置取反,取出来的一定是头发。

def ip2bin(ip):
	s =bin(sum(map(lambda x,y:x<

你可能感兴趣的:(python,小玩意儿,tcp/ip,服务器,网络协议)