精华内容
下载资源
问答
  • python windows日志分析
    2020-12-17 14:41:38

    DOM是Document Object Model的简称,XML 文档的高级树型表示。该模型并非只针对 Python,而是一种普通XML 模型。Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里。

    参考博客:

    python网络编程学习笔记:XML生成与解析

    Python取证技术: Windows 事件日志分析

    1.安装python_Evtx

    直接使用pip install python-evtx命令安装即可

    2.感兴趣的日志部分筛选

    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)

    for xml, record in evtx_file_xml_view(fh):

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

    InterestEvent(xml,4624)

    print ""

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

    def InterestEvent(xml,EventID):

    xmldoc = minidom.parseString(xml)

    # 获取EventID节点的事件ID

    booknode=root.getElementsByTagName('event')

    for booklist in booknode:

    bookdict={}

    bookdict['id']=booklist.getAttribute('id')

    bookdict['head']=booklist.getElementsByTagName('head')[0].childNodes[0].nodeValue.strip()

    bookdict['name']=booklist.getElementsByTagName('name')[0].childNodes[0].nodeValue.strip()

    bookdict['number']=booklist.getElementsByTagName('number')[0].childNodes[0].nodeValue.strip()

    bookdict['page']=booklist.getElementsByTagName('page')[0].childNodes[0].nodeValue.strip()

    if EventID == eventID:

    print xml

    if __name__ == '__main__':

    MyFun()1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    更多相关内容
  • python apache日志分析 INTERNATIONAL MEDICAL SUMMIT FORUM python apache日志分析 任务背景 操作系统和许多程序会产生各种错误信息、警告信息和其他的提示信息,这种信息会记录到日志里面。系统日志里面有很多东西...
  • 一个简单的python脚本来分析Android日志 设置: 下载py脚本后,修改key_words对应你的app app_marker_name = 全部或部分您的应用名称 - "com.example" key_word_agent = "您的代理日志中包含的一个词" key_word_...
  • python windows系统日志文件evtx解析,过滤指定事件,根据IP地址解析出实际物理地址
  • Windows日志 模块安装 pip install python-evtx Windows日志 解析源码 源码 import mmap import contextlib from Evtx.Evtx import FileHeader from Evtx.Views import evtx_file_xml_view from xml.dom import ...

    Windows日志 模块安装

    pip install python-evtx
    

    Windows日志 解析源码

    源码

    import mmap
    import contextlib
    import datetime
    import Evtx.BinaryParser
    from Evtx.Evtx import FileHeader
    from Evtx.Views import evtx_file_xml_view
    from xml.dom import minidom
    from pandas import DataFrame
    
    
    def Log_Get(evtxpath):
        '''
        将 evt 日志文件解析成 Dataframe 数据
        :param evtxpath:evt 格式的日志路径
        :return:
        '''
        try:
            with open(evtxpath, 'r') as f:
                with contextlib.closing(mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)) as buf:
                    content_list = []
                    fh = FileHeader(buf, 0)
    
                    # 遍历每条日志信息
                    for xml, record in evtx_file_xml_view(fh):
                        content_dict = {}
                        domtree = minidom.parseString(xml)
    
                        # 获取事件标准信息(System)
                        content_dict['Channel'] = domtree.getElementsByTagName('Channel')[0].childNodes[0].data
                        content_dict['SystemTime'] = str(datetime.datetime.strptime(
                            domtree.getElementsByTagName('TimeCreated')[0].getAttribute('SystemTime')[:19],
                            '%Y-%m-%d %H:%M:%S') + datetime.timedelta(hours=8))
                        content_dict['EventID'] = domtree.getElementsByTagName('EventID')[0].childNodes[0].data
                        content_dict['Level'] = domtree.getElementsByTagName('Level')[0].childNodes[0].data
                        content_dict['UserID'] = domtree.getElementsByTagName('Security')[0].getAttribute('UserID')
                        # content_dict['ProcessID'] = domtree.getElementsByTagName('Execution')[0].getAttribute('ProcessID')
                        content_dict['Computer'] = domtree.getElementsByTagName('Computer')[0].childNodes[0].data
    
                        # 获取事件详情信息(EventData)
                        for data in domtree.getElementsByTagName('Data'):
                            if len(data.childNodes):
                                content_dict[data.getAttribute('Name') + '_EventData'] = data.childNodes[0].data
    
                        # 获取用户数据信息(UserData)
                        # EventData 与 UserData 一样都是3级子列表,都可以使用以下循环获取完整的日志信息。System 也可以,但需修改为2级
                        for eleone in domtree.getElementsByTagName('UserData'):
                            for eletwo in eleone.childNodes:
                                for elethree in eletwo.childNodes:
                                    if elethree.childNodes != () and len(elethree.childNodes) == 1: # 也可能存在4级,直接忽略
                                        content_dict[elethree.tagName + '_UserData'] = elethree.childNodes[0].data
    
                        # 归档日志信息
                        content_list.append(content_dict)
                f.close()
            df = DataFrame(content_list).fillna('')  # 让 Nan 为空字符串
            # df = DataFrame(content_list).fillna('').sort_values(by=['SystemTime'])   # 按时间排序
            return df
        # 出现一些编码无法识别的日志文件,如果该日志不属于 ['Security', 'System', 'Setup'],则进行忽略
        except (Evtx.BinaryParser.OverrunBufferException, KeyError):
            if os.path.splitext(os.path.basename(evtxpath))[0] not in ['Security', 'System', 'Setup']:
                return DataFrame()
            else:
                raise
    
                
    print(Log_Get('./Security.evtx'))
    

    本文是以 Dataframe 结构输出数据,需要使用命令 “pip install pandas” 同时安装 pandas 模块。如无需要,以字典输出数据即可,“return df” 改为 “return content_list”。

    解析

    代码中的每个部分与事件查看器中xml形式的内容都是一一对应的,如下图所示:
    在这里插入图片描述

    参考链接

    xml.dom — The Document Object Model API — Python 3.10.4 documentation

    展开全文
  • 通过查看和分析Windows活动目录事件日志来调查恶意登录。LogonTracer使用PageRank和ChangeFinder从事件日志中检测恶意主机和帐户。
  • Windows的事件日志都存放在 C:WindowsSystem32winevtLogs目录下。以evtx后缀结尾。事件日志是在windows上记录重要事件发生的特殊文件,当用户登录系统或者程序报错时,就会被记录。对 我的电脑右键菜单管理→事件...

    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]联系我们处理,如需商业授权请联系原作者/原网站。

    展开全文
  • PyWebLog 网站日志分析小工具环境Python3.5Mysql预览 安装pip install pymysqlpip install flask导入日志python Log.py 日志文件名导入日志的格式一般默认的都是这样的111.206.36.15 - - [05/Nov/2016:03:35:04 +...

    PyWebLog 网站日志分析小工具

    环境

    Python3.5

    Mysql

    预览

    d6ba45e11a0218aa024607f510d8fe26.png774fc2720a9ed72e23ead6bb55dae848.pnge0d03fa613bc85946896a077ece9fa7d.png

    安装

    pip install pymysql

    pip install flask

    导入日志

    python Log.py 日志文件名

    导入日志的格式

    一般默认的都是这样的

    111.206.36.15 - - [05/Nov/2016:03:35:04 +0800] GET / HTTP/1.1 200 6861 http://www.baidu.com/s?wd=www Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 -

    启动Web服务

    python server.py

    在浏览器访问127.0.0.1:9387即可

    conf.json配置文件

    {

    #Mysql信息

    "db":{

    "host":"loaclhost",

    "database":"weblog",

    "port":"3306",

    "user":"root",

    "pwd":"root",

    "charset":"utf8"

    },

    "domain":"日志网站的域名",

    #web界面相关

    "server":{

    "port":9387,

    "ip":"127.0.0.1",

    "debug":1

    },

    #这里是日志访问路径过滤的正则,匹配的都不入库

    "dump":{

    "fitter":".js|.css|index.php|.jpg|.png|.gif|.ico"

    }

    }

    说明

    这个小工具只是自己用下的,还有很多地方没弄好,性能也没优化的。

    特别是导入日志文件的时候,如果文件非常大,需要的时间会很久;我自己是把日志文件分割后再分别导入,这样快很多。

    如果有什么要的建议,可以告诉我~~

    展开全文
  • python-evtx是用于最近的Windows事件日志文件(文件扩展名为“ .evtx”的文件)的纯Python解析器。该模块提供对File和Chunk标头,记录模板和事件条目的编程访问。 Python-evtx 安装下载 pip install python-evtx ...
  • 解决日志统计可视化问题 输出词云、词频文件 解析json 并结合pandas进行数据分析 基于pyecharts词云可视化 pip install pandas pip install pyecharts import json import pandas as pd from pyecharts import ...
  • python读取日志文件并上传到数据库中 python读取数据库中的所用字段,使用pyecharts绘制图表,生成日志地图和日志分析
  • 您可以在C:\PythonXX\Lib\site-packages\win32\Demos文件夹中找到大量与winapi相关的演示。...只需使用eventLogDemo.py -v启动此脚本,您就可以使用logtype Application从Windows事件日志中获取打印件。如果你...
  • LogonTracer是通过可视化和分析Windows Active Directory事件日志来调查恶意登录的工具。 该工具将与登录相关的事件中找到的主机名(或IP地址)和帐户名相关联,并将其显示为图形。 这样,可以查看在哪个帐户中尝试...
  • Python 获取WindowsEvtx日志文件并解析 demo如下(随便写的): import html from xml.dom import minidom import Evtx.Evtx as evtx path = r"C:\Windows\Sysnative\winevt\Logs\Security.evtx" with evtx.Evtx...
  • 本文实例讲述了python自动化测试之异常及日志操作。分享给大家供大家参考,具体如下: 为了保持自动化测试用例的健壮性,异常的捕获及处理,日志的记录对掌握自动化测试执行情况尤为重要,这里便详细的介绍下在自动...
  • 1.做服务器开发的经常会遇到要分析大量的日志,统计大量数据;这里介绍几种统计日志数据的方法和思路 之前有遇到过要统计几天内的url出现次数的事情,一天有24个gz压缩文件,每个文件大概6G左右,URL的不重复率也很...
  • 日志输出,level=logging.INFO
  • 1、 问题描述项目中,使用RotatingFileHandler根据...2、 分析日志文件过小,猜测是代码有问题,或者是文件内容有丢失;日志写入时间接近猜测是同时写入的问题。经检查,代码没有问题,排除此原因。考虑当前使用gun...
  • 该工具的最终目标是改善长期和困难的黑白日志的读取,加快分析速度并增强日常的疲倦活动。 作为常见的应用程序,您可以使用示例文件并使用它们来对adb logcat日志进行着色(也可以过滤不必要的行)。 您可以从PyPI...
  • 关于日志这个东西的存在,主要是为了记录发生...但是输出一下这种方法却一直被使用,特别是一些偶发性问题,调试工具很难捕捉到他们,这时候往往需要将中间过程输出到日志文件中,这些日志文件就是我们分析问题的基础。
  • Python爬虫与数据分析

    千次阅读 2021-04-08 09:30:47
    Python爬虫与数据分析 目的 爬取网易云音乐歌曲热评,分析热评特征。 思路 (1)爬取华语歌单中所有歌单url (2)从每篇歌单地址中爬取每首歌的url (3)从每首歌的首页爬取热评 代码 (1) 爬取华语歌单中所有歌单...
  • python,日志分析脚本

    万次阅读 2012-03-06 20:28:24
    做运维的朋友刚开始写python,就用这段分析日志代码算作入门吧 import re tudou@Gyyx f=open("/tmp/a.log","r") arr={} lines = f.readlines() for line in lines: ipaddress=re.compile(r'^#(((2[0-4]\d|25[0-5]|...
  • VizTracer VizTracer是一个低开销的日志记录/调试/概要分析工具,可以跟踪和可视化您的python代码执行。 您可以查看多个示例程序的结果。 用户界面由。 使用“ AWSD”进行缩放/导航。 单击“?”可以找到更多帮助。 ...
  • Windows日志识别入侵痕迹

    万次阅读 2021-01-11 20:04:00
    有小伙伴问:网络上大部分windows系统日志分析都只是对恶意登录事件分析的案例,可以通过系统日志找到其他入侵痕迹吗?答案肯定是可以的,当攻击者获取webshell后,会通过各种方式来执行系统命令。所有的web攻击行为...
  • python 监控windows进程

    2020-12-20 22:32:54
    python os.startfile python实现双击运行程序 python监控windows程序 监控进程不在时重新启动用python监控您的window服务原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。...
  • Windows系统安全登录日志分析工具logonTracer汉化修正版 安装neo4j cd neo4j ./bin/neo4j start 下载logonTracer ##下载logontracer git clone https://github.com/TheKingOfDuck/logonTracer.git cd ...
  • Python分析web访问日志

    2018-06-04 13:31:10
    Python分析web访问日志 通用日志格式127.0.0.1 - - [14/May/2017:12:45:29 +0800] "GET /index.html HTTP/1.1" 200 4286远程 - - 主机 IP 请求时间 时区 方法 资源 协议 状态码 发送字节 组合日志格式127.0.0.1 -...
  • python-实战分析windows普通日志txt

    千次阅读 2017-05-24 17:40:53
    python-实战分析windows普通日志txt 1、准备知识 http://www.jb51.net/article/87398.htm http://blog.sina.com.cn/s/blog_5ef7acf501017ry5.html2、从windows机器导入图片 在linux中查看日志信息 root@kali:~/...
  • 闲聊Windows系统日志

    千次阅读 2021-03-18 08:29:14
    title: "闲聊Windows系统日志"date: 2021-02-22T18:59:49+08:00draft: truetags: ['windows']author: "dadigang"author_cn: "大地缸"personal: "http://www.real007.cn"闲聊Windows系统日志2018-07-302018-07-30 17:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,356
精华内容 11,342
关键字:

python windows日志分析

友情链接: done-6bit-LED.zip