我试图从snort日志文件中提取唯一的IP地址,并将它们存储在一个单独的文件中。如果它存在,那么就忽略它。但是输出也显示重复的IP地址。我该如何预防?在
这是我的代码:
#!/usr/bin/python
import re
lst = []
lst2 = []
lstb = []
logfile = open('/var/log/snort/alllogs', 'r')
blist = open('blacklist', 'ab+')
for lines in logfile.readlines():
lines = lines.rstrip()
badip = re.findall(r'[0-9]+(?:\.[0-9]+){3}',lines)
if badip is not None and badip not in lst:
lst.append(badip)
for ip in lst:
addr = ",".join(ip)
if ',' in addr:
s = addr.split(',')
for ip in s:
addr = "".join(ip)
if addr is not '':
lst2.append(addr)
else:
if addr is not '':
lst2.append(addr)
for i in blist:
lst2.append(i.strip())
for i in lst2:
if i not in lstb:
blist.write(i+'\n')'
结果是:
^{pr2}$
您可以使用以下一行代码消除列表中的重复项:
我看不出你在哪里填写lstb,这可能就是你的解决方案不起作用的原因。在
如果您想要解决方案的修复,请考虑以下内容:
^{pr2}$您正在检查:
但是lstb从来没有在你的代码中使用过。在
相关问题 更多 >
编程相关推荐