2016-02-29 21 views
1

我正在尝试创建一个Python脚本,但我有点卡住,无法找到我在Google搜索中查找的内容,因为它很安静具体。试图创建Python脚本以从.log文件中提取数据

我需要两个.LOG文件(auth.log和access.log里)来查看以下信息,运行脚本:

找到多少次尝试用垃圾桶账号

因此,bin帐户试图尝试进入服务器的次数为

日志基于被黑客入侵,需要识别如何和谁负责。

任何人都可以给我一些帮助,我如何去做这件事?如果需要,我可以提供更多信息。

在此先感谢。

编辑:

我已经成功地打印所有时代“本”似乎是这样做的一个方式在日志中。有谁知道我是否可以count'bin'出现多少次?

with open("auth.log") as f: 
for line in f: 
    if "bin" in line: 
     print line 
+0

或者你可以简单地使用cat file.log | grep“keywords” –

+0

这个怎么样:'cat file.log | egrep“keyword1 | keyword2 | ...”| wc -l'(egrep为您提供了搜索关键字1或关键字2的可能性,而“wc -l”可以让您有机会进行计数。 – Dominique

+0

我已经编辑了原始文章,内容是如何完成的,任何建议if有一种方法来计算这些事件? –

回答

0

如果你不想使用工具,那么你可以使用ELK(Elastic,Logstash和kibana)。 如果没有,那么你必须阅读第一个日志文件,然后根据你的需求应用正则表达式。

0

既然你有系统日志的工作和他们的格式是已知的,稳定的,我的办法是这样的:

  • 识别一组关键字(无论是常见的,或每数一个)
  • 为每个日志,逐行迭代
  • 一旦关键字匹配,在每行添加相关信息字典

你可以使用shell工具(如grepcut和/或awk)预先处理的日志,并提取日志相关的行(我假设你只需要例如误差项)。

您可以使用类似this这样的出发点。