我正在审核一个SecurityLog CSV文件,我必须计算“审核成功”和“审核失败”的最常见事件ID号。我可以找到整个文件中最常出现的事件ID,但不是每个一。我的剧本不是最有效或最完美的,但我找不到任何办法。
import csv
from collections import Counter
with open('SecLog.csv') as csvfile: #Open Security Log
readCSV = csv.reader(csvfile, delimiter=',')
data = list(readCSV) #to get number of entries in entire log
row_count=len(data)-1
data = open('SecLog.csv').read()
SucCount = data.count('Success') #counts the occurences of "Successes"
FailCount = data.count('Failure') #counts the occurences of "failures"
print "Number of Audit Failures:", FailCount, "Failures of", row_count, "entries"
print "Number of Audit Successes:", SucCount,"Successes of", row_count, "entries"
安全日志: 关键字,日期和时间,来源,事件ID,任务类别 Audit Success,3/1/2018 4:52:36 PM,Microsoft-Windows-Security-Auditing,4798,User Account Management,“枚举了用户的本地组成员资格。
主题: 安全ID:DESKTOP-1PQOUT8 \ Mack Naylor 帐户名称:Mack Naylor 帐户域名:DESKTOP-1PQOUT8 登录ID:0x26723
用户: 安全ID:DESKTOP-1PQOUT8 \ Mack Naylor 帐户名称:Mack Naylor 帐户域名:DESKTOP-1PQOUT8
流程信息: 进程ID:0x1e14 进程名称:C:\ Windows \ System32 \ mmc.exe“ Audit Success,3/1/2018 4:52:10 PM,Microsoft-Windows-Security-Auditing,4798,User Account Management,“枚举了用户的本地组成员资格。
主题: 安全ID:DESKTOP-1PQOUT8 \ Mack Naylor 帐户名称:Mack Naylor 帐户域名:DESKTOP-1PQOUT8 登录ID:0x26723
用户: 安全ID:DESKTOP-1PQOUT8 \ Mack Naylor 帐户名称:Mack Naylor 帐户域名:DESKTOP-1PQOUT8
流程信息: 进程ID:0x1e14 进程名称:C:\ Windows \ System32 \ mmc.exe“ Audit Success,3/1/2018 4:51:41 PM,Microsoft-Windows-Security-Auditing,4672,Special Logon,“分配给新登录的特权。
主题: 安全ID:SYSTEM 帐户名称:SYSTEM 帐户域名:NT AUTHORITY 登录ID:0x3E7
特权:SeAssignPrimaryTokenPrivilege SeTcbPrivilege SeSecurityPrivilege权限
答案 0 :(得分:0)
如果您知道如何查找整个文件的最常见事件ID,为什么不按成功/失败对CSV进行排序,然后拆分为两个数据集。然后,您可以分别通过相同的上述方法为每个数据集找到最常见的事件ID。