Windows的事件日志都存放在 C:WindowsSystem32winevtLogs

目录下。以evtx后缀结尾。

事件日志是在windows上记录重要事件发生的特殊文件,当用户登录系统或者程序报错时,就会被记录。对 我的电脑右键菜单管理→事件查看器可以查看

安装python_Evtx

直接使用如下命令安装即可。

pip install python-evtx

如果没有安装pip,下载 get-pip.py

运行后,在python安装目录有个script目录,里面有安装好后的脚本,将该目录设为环境变量,就可以直接使用pip命令。

python_Evtx 解析日志文件

python_Evtx能够Evtx格式的日志文件解析成可读的XML文件

import mmap

import contextlib

from Evtx.Evtx import FileHeader

from Evtx.Views import evtx_file_xml_view

def MyFun():

EvtxPath = "D:Application.evtx" #日志文件的路径

with open(EvtxPath,'r') as f:

with contextlib.closing(mmap.mmap(f.fileno(),0,access=mmap.ACCESS_READ)) as buf:

fh = FileHeader(buf,0)

# 构建一个xml文件,根元素是Events

print ""

print ""

# 遍历事件

for xml, record in evtx_file_xml_view(fh):

print xml

print ""

if __name__ == '__main__':

MyFun()

输出的事件如下(只取了其中一个),有很多节点:

4625

0

4

0

0

0x0080000000000000

1

Application

KEN-PC

86400

SuppressDuplicateDuration

SoftwareMicrosoftEventSystemEventLog

我们需要着重关注的是EventID、EventData、TimeCreated。

这段脚本运行完毕后会将该文件所有的事件日志信息输出,但我们并不需要如此对所有的事件分析,只分析我们感兴趣的部分。下面就是我改进后的代码:

import mmap

import contextlib

from Evtx.Evtx import FileHeader

from Evtx.Views import evtx_file_xml_view

from xml.dom import minidom

def MyFun():

EvtxPath = "D:Application.evtx"

with open(EvtxPath,'r') as f:

with contextlib.closing(mmap.mmap(f.fileno(),0,access=mmap.ACCESS_READ)) as buf:

fh = FileHeader(buf,0)

print ""

print ""

for xml, record in evtx_file_xml_view(fh):

#只输出事件ID为16384的内容

InterestEvent(xml,16384)

print ""

# 过滤掉不需要的事件,输出感兴趣的事件

def InterestEvent(xml,EventID):

xmldoc = minidom.parseString(xml)

# 获取EventID节点的事件ID

eventID = xmldoc.getElementsByTagName('EventID')[0]

if EventID == eventID:

print xml

if __name__ == '__main__':

MyFun()

常见的一些事件ID

事件ID

名称

描述

20, 24, 25, 31, 34, 35

Windows-Update-Failure

windows更新失败

104, 1102

Microsoft-Windows-Eventlog

正常情况下是不可能被清除的,除非是攻击者为了清除痕迹。

106

Microsoft-Windows-TaskScheduler

显示最新注册的计划任务

1014

Microsoft-Windows-DNS-Client

DNS解析超时。这个也是非常有用的,恶意程序经常用来测试是否连接到目标网站。

2004, 2005, 2006, 2033

Firewall-Rule-Add/Change/Delete

正常用户一般不会修改防火墙规则

3004

Microsoft-Windows-Windows Defender

WD杀毒检测日志

4720, 4724, 4725, 4728, 4732, 4635,4740, 4748, 4756

Microsoft-Windows-Security-Auditing

能够找到远程登录信息,以及用户提权等相关信息

7030, 7045

Service-Control-Manager

监视服务是配置成与桌面交互还是安装在系统中。

8003, 8004, 8006, 8007

App-Locker-Block/Warning

记录被阻止运行或警告的程序信息

注意:本文来源网络/媒体,本站无法对本文内容的真实性、完整性、及时性、原创性提供任何保证,

请您自行验证核实并承担相关的风险与后果!

CoLaBug.com遵循[CC BY-SA 4.0]分享并保持客观立场,本站不承担此类作品侵权行为的直接责任及连带责任。

如您有版权、意见、投诉等问题,请通过[eMail]联系我们处理,如需商业授权请联系原作者/原网站。

python读取windows日志_Python取证技术(3): Windows 事件日志分析相关推荐

  1. 数字取证技术 :Windows内存信息提取

    数字取证技术 :Windows内存信息提取.后面会花一部分时间,写一些数字取证相关的文章.攻击技术贴多如牛毛,眼下不管是网安,还是安全厂商, 欠缺的是对取证技术的研究. 大致想了一下,主要会从以下几个 ...

  2. python读取手机文件_python 读取 网络 文件

    Python之pandas数据加载.存储 Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 ...

  3. python读取pdf表格_Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

  4. python读取grib2数据_python读取grib grib2气象数据

    GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式,主要用来表示数值天气预报的产品资料.现行的GRIB 码版本有GRIB1 和GRIB2 两种格式.由于小编只接触过GRIB1数据,所 ...

  5. python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件

    python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...

  6. python读取nc数据_python读取nc文件

    nc文件的处理方式比较多,可以用MATLAB.JAVA.C.python或者其他的语言.我这两天折腾用python读取nc文件,查阅很多资料,左拼右凑的终于读出来了. 1.安装Anaconda 1)A ...

  7. python读取pdf文件_python读取pdf文件

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一.安装pdfminer3k模块?二. 读取pdf文件import sysimp ...

  8. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

  9. python读取大文件目录_Python读取系统文件夹内所有文件并统计数量的方法

    大家先看一下Python os模块中的部分函数 python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os. ...

最新文章

  1. 热门云服务超87GB电子邮箱和密码泄露,黑客已验证大部分数据
  2. Luence简单实现1
  3. css规则由两部分构成,CSS-层叠样式表基础教程
  4. 代码审计-四叶草杯线下awd比赛源码web2
  5. Heap Dump分析工具ha456.jar
  6. SQL SERVER 2012启动失败 because upgrade step 'SSIS_hotfix_install.sql' 失败
  7. 宝塔面板php日志在哪里,宝塔面板怎么查看网站日志?
  8. Linux下Verilog仿真过程(二)
  9. ASP.NET 控件开发速成教程:生成复合控件
  10. Cesium:加载json数据
  11. 微信小程序布局 底部位置固定例子
  12. 校验和checksum、哈希值是什么?
  13. [日更-2019.4.20、21] cm-14.1 Android系统启动过程分析(二)-Zygote进程启动过程
  14. 转载:汽车上的控制器简介
  15. pngimg 可以商用吗_避免侵权!这10个免费可商用的图片网站,请一定收好
  16. 为何丧尸只会攻击人类,而不“咬”动物?
  17. 网站被流量攻击了,如何解决
  18. 获取光标位置及动态设置光标到指定位置
  19. php mysql随机抽奖源码_幸运大转盘-jQuery+PHP实现的抽奖程序
  20. sda、sdb、sda1、sda2的意思

热门文章

  1. 兆鹏带你读Watir——【第一节】创建IE对象篇
  2. 弄潮儿数据_大数据时代,你如何成为弄潮儿
  3. 技术前沿:串口 HMI 指令集
  4. 统计基础—数据集中趋势、离散程度、偏度与峰度的衡量指标(1)
  5. Doris之Insert Into
  6. php数组批量赋值_PHP数组赋值方法详解
  7. 埃里森:甲骨文将向亚马逊发起云价格战
  8. php百度空间,PHP 登录百度空间
  9. 史玉柱马云退休 盘点那些退休的“创一代”
  10. project处理 InteropServices.COMException 异常