网络管理中常常会设置黑白名单,如何在批量处理网络日志时将白名单内的日志去掉或者筛选出来呢?直接匹配白名单中的ip就可以了
白名单中有ip地址,如10.0.0.10,还有ip段,如192.168.0.0/24,使用python中的IPy模块来处理
from IPy import IP
def check(ip,list,list2):
if ip in list:
return True
for ipduan in list2:
if ip in IP(ipduan):
return True
return False
def create_list(file):
f = open(file , 'r')
list = []
list2 = []
for ip in f:
ip = str(ip).strip()
if '/' in ip:
list2.append(ip)
else:
list.append(ip)
return list,list2
file 是白名单文件,每个ip或者ip段为一行
list存放ip,list2存放ip段
内网网段
C类:192.168.0.0 - 192.168.255.255
B类:172.16.0.0 - 172.31.255.255
A类:10.0.0.0 - 10.255.255.255
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16