Windows系统日志分析_python日志采集分析

Windows系统日志分析_python日志采集分析日志文件,它记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用。但许多用户不注意对它保护,一些“不速之客”很轻易就将日志文件清空,给系统带来严重的安全隐患。  一、什么是日志文件  日志文件是Windows系统中一个比较特殊的文件,它记录着Windows系统中所发生的一切,如各种系统服务的启动、运行、关闭等信息。Windows日志包括应用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

日志文件,它记录着Windows系统及其各种服务运行的每个细节,对增强Windows的稳定和安全性,起着非常重要的作用。但许多用户不注意对它保护,一些“不速之客”很轻易就将日志文件清空,给系统带来严重的安全隐患。
  一、什么是日志文件
  日志文件是Windows系统中一个比较特殊的文件,它记录着Windows系统中所发生的一切,如各种系统服务的启动、运行、关闭等信息。Windows日志包括应用程序、安全、系统等几个部分,它的存放路径是“%systemroot%system32config”,应用程序日志、安全日志和系统日志对应的文件名为AppEvent.evt、SecEvent.evt和SysEvent.evt。这些文件受到“Event Log(事件记录)”服务的保护不能被删除,但可以被清空。
  二、如何查看日志文件
  在Windows系统中查看日志文件很简单。点击“开始→设置→控制面板→管理工具→事件查看器”,在事件查看器窗口左栏中列出本机包含的日志类型,如应用程序、安全、系统等。查看某个日志记录也很简单,在左栏中选中某个类型的日志,如应用程序,接着在右栏中列出该类型日志的所有记录,双击其中某个记录,弹出“事件属性”对话框,显示出该记录的详细信息,这样我们就能准确的掌握系统中到底发生了什么事情,是否影响Windows的正常运行,一旦出现问题,即时查找排除。
  三、Windows日志文件的保护
  日志文件对我们如此重要,因此不能忽视对它的保护,防止发生某些“不法之徒”将日志文件清洗一空的情况。
  1、修改日志文件存放目录
  Windows日志文件默认路径是“%systemroot%system32config”,我们可以通过修改注册表来改变它的存储目录,来增强对日志的保护。
  点击“开始→运行”,在对话框中输入“Regedit”,回车后弹出注册表编辑器,依次展开“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog”后,下面的Application、Security、System几个子项分别对应应用程序日志、安全日志、系统日志。
  以应用程序日志为例,将其转移到“d:cce”目录下。选中Application子项(如图),在右栏中找到File键,其键值为应用程序日志文件的路径“%SystemRoot%system32configAppEvent.Evt”,将它修改为“d:cceAppEvent.Evt”。接着在D盘新建“CCE”目录,将“AppEvent.Evt”拷贝到该目录下,重新启动系统,完成应用程序日志文件存放目录的修改。其它类型日志文件路径修改方法相同,只是在不同的子项下操作。
  2. 设置文件访问权限
  修改了日志文件的存放目录后,日志还是可以被清空的,下面通过修改日志文件访问权限,防止这种事情发生,前提是Windows系统要采用NTFS文件系统格式。
  右键点击D盘的CCE目录,选择“属性”,切换到“安全”标签页后,首先取消“允许将来自父系的可继承权限传播给该对象”选项勾选。接着在账号列表框中选中“Everyone”账号,只给它赋予“读取”权限;然后点击“添加”按钮,将“System”账号添加到账号列表框中,赋予除“完全控制”和“修改”以外的所有权限,最后点击“确定”按钮。这样当用户清除Windows日志时,就会弹出错误对话框。
  四、Windows日志实例分析
  在Windows日志中记录了很多操作事件,为了方便用户对它们的管理,每种类型的事件都赋予了一个惟一的编号,这就是事件ID。
  1. 查看正常开关机记录
  在Windows系统中,我们可以通过事件查看器的系统日志查看计算机的开、关机记录,这是因为日志服务会随计算机一起启动或关闭,并在日志中留下记录。这里我们要介绍两个事件ID“6006和6005”。6005表示事件日志服务已启动,如果在事件查看器中发现某日的事件ID号为6005的事件,就说明在这天正常启动了Windows系统。6006表示事件日志服务已停止,如果没有在事件查看器中发现某日的事件ID号为6006的事件,就表示计算机在这天没有正常关机,可能是因为系统原因或者直接切断电源导致没有执行正常的关机操作。
  2. 查看DHCP配置警告信息
  在规模较大的网络中,一般都是采用DHCP服务器配置客户端IP地址信息,如果客户机无法找到DHCP服务器,就会自动使用一个内部的IP地址配置客户端,并且在Windows日志中产生一个事件ID号为1007的事件。如果用户在日志中发现该编号事件,说明该机器无法从DHCP服务器获得信息,就要查看是该机器网络故障还是DHCP服务器问题。
  五、WEB日志文件分析
  以下列日志记录为例,进行分析:
  #Software: Microsoft Internet Information Services 6.0
  #Version: 1.0
  #Date: 2006-09-24 07:19:27
  #Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /index.asp - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/css.css - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/1.gif - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/home_top_new2.jpg - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  2006-09-24 07:19:27 W3SVC1 192.168.99.173 GET /sxjyzx/sxjyzx/2.gif - 80 - 192.168.99.236 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1) 200 0 0
  分析:
  date表示记录访问日期;
  time访问时间;
  s-sitename表示你的虚拟主机的代称。
  s-ip;服务端ip
  cs-method表示访问方法,常见的有两种,一是GET,就是平常我们打开一个URL访问的动作,二是POST,提交表单时的动作;
  cs-uri-stem就是访问哪一个文件;
  cs-uri-query是指访问地址的附带参数,如asp文件后面的字符串id=12等等,如果没有参数则用-表示;
  s-port 访问的端口
  cs-username 访问者名称
  c-ip访问者IP
  cs(User-Agent)访问来源;
  sc-status状态,200表示成功,403表示没有权限,404表示打不到该页面,500表示程序有错;
  sc-substatus 服务端传送到客户端的字节大小;
  cs–win32-statu客户端传送到服务端的字节大小;
  1**:请求收到,继续处理
  2**:操作成功收到,分析、接受
  3**:完成此请求必须进一步处理
  4**:请求包含一个错误语法或不能完成
  5**:服务器执行一个完全有效请求失败
  100——客户必须继续发出请求
  101——客户要求服务器根据请求转换HTTP协议版本
  200——交易成功
  201——提示知道新文件的URL
  202——接受和处理、但处理未完成
  203——返回信息不确定或不完整
  204——请求收到,但返回信息为空
  205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
  206——服务器已经完成了部分用户的GET请求
  300——请求的资源可在多处得到
  301——删除请求数据
  302——在其他地址发现了请求数据
  303——建议客户访问其他URL或访问方式
  304——客户端已经执行了GET,但文件未变化
  305——请求的资源必须从服务器指定的地址得到
  306——前一版本HTTP中使用的代码,现行版本中不再使用
  307——申明请求的资源临时性删除
  400——错误请求,如语法错误
  401——请求授权失败
  402——保留有效ChargeTo头响应
  403——请求不允许
  404——没有发现文件、查询或URl
  405——用户在Request-Line字段定义的方法不允许
  406——根据用户发送的Accept拖,请求资源不可访问
  407——类似401,用户必须首先在代理服务器上得到授权
  408——客户端没有在用户指定的饿时间内完成请求
  409——对当前资源状态,请求不能完成
  410——服务器上不再有此资源且无进一步的参考地址
  411——服务器拒绝用户定义的Content-Length属性请求
  412——一个或多个请求头字段在当前请求中错误
  413——请求的资源大于服务器允许的大小
  414——请求的资源URL长于服务器允许的长度
  415——请求资源不支持请求项目格式
  416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
  417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求
  500——服务器产生内部错误
  501——服务器不支持请求的函数
  502——服务器暂时不可用,有时是为了防止发生系统过载
  503——服务器过载或暂停维修
  504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
  505——服务器不支持或拒绝支请求头中指定的HTTP版本
  FTP日志分析
  FTP日志和WWW日志在默认情况下,每天生成一个日志文件,包含了该日的一切记录,文件名通常为ex(年份)(月份)(日期)。例如ex040419,就是2004年4月19日产生的日志,用记事本可直接打开,普通的有入侵行为的日志一般是这样的:
  #Software: Microsoft Internet Information Services 5.0(微软IIS5.0)
  #Version: 1.0 (版本1.0)
  #Date: 20040419 0315 (服务启动时间日期)
  #Fields: time cip csmethod csuristem scstatus
  0315 127.0.0.1 [1]USER administator 331(IP地址为127.0.0.1用户名为administator试图登录)
  0318 127.0.0.1 [1]PASS – 530(登录失败)
  032:04 127.0.0.1 [1]USER nt 331(IP地址为127.0.0.1用户名为nt的用户试图登录)
  032:06 127.0.0.1 [1]PASS – 530(登录失败)
  032:09 127.0.0.1 [1]USER cyz 331(IP地址为127.0.0.1用户名为cyz的用户试图登录)
  0322 127.0.0.1 [1]PASS – 530(登录失败)
  0322 127.0.0.1 [1]USER administrator 331(IP地址为127.0.0.1用户名为administrator试图登录)
  0324 127.0.0.1 [1]PASS – 230(登录成功)
  0321 127.0.0.1 [1]MKD nt 550(新建目录失败)
  0325 127.0.0.1 [1]QUIT – 550(退出FTP程序)
  从日志里就能看出IP地址为127.0.0.1的用户一直试图登录系统,换了四次用户名和密码才成功,管理员立即就可以得知这个IP至少有入侵企图!而他的入侵时间、IP地址以及探测的用户名都很清楚的记录在日志上。如上例入侵者最终是用Administrator用户名进入的,那么就要考虑此用户名是不是密码失窃?还是被别人利用?接下来就要想想系统出什么问题了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196189.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VMware下载安装教程(vbox虚拟机安装教程)

    全网最详细的VMware虚拟机下载安装教程第一步下载虚拟机1.进入VMware官网,点击左侧导航栏中的下载,选择下拉列表中的产品下载,再点击图中标记的WorkstationPro,如下图所示。2.选择自己需要的版本和操作系统,在这里以Windows系统为例,点击转至下载,如下图所示。-3.点击转至下载后也在此处可以选择版本。选择好版本后点击立即下载。如下图所示。4.注意,需要登录之后才能下载。若无账号可点击注册后登录。如下图所示。二、安装虚拟机1.进入下载路径,双击.

    2022年4月10日
    90
  • golang deepcopy_mongodb主从复制原理

    golang deepcopy_mongodb主从复制原理Go语言中所有赋值操作都是值传递,如果结构中不含指针,则直接赋值就是深度拷贝;如果结构中含有指针(包括自定义指针,以及切片,map等使用了指针的内置类型),则数据源和拷贝之间对应指针会共同指向同一块内存,这时深度拷贝需要特别处理。目前,有三种方法,一是用gob序列化成字节序列再反序列化生成克隆对象;二是先转换成json字节序列,再解析字节序列生成克隆对象;三是针对具体情况,定制化拷贝。前两种方法虽……

    2022年10月2日
    2
  • AssertValid和Dump 这两个函数的作用[通俗易懂]

    AssertValid和Dump 这两个函数的作用[通俗易懂]
    AssertValid函数是用来判断表达式的合法性或正确性,如果不正确或不合法则终止程序并返回相应的提示信息 
     如AssertValid(t==0);//用来判断t是否等于0,如果t!=0则终止程序 
     Dump函数一般用来显示debug信息的,其函数中的内容一般在debug时,在debug窗口中才能看到。
    CObject::AssertValid 成员函数提供对对象内部状态的运行时检查。尽管从 CObject 派生类时不需要重写 Asse

    2022年7月14日
    17
  • vmware 安装 win10[通俗易懂]

    vmware 安装 win10[通俗易懂]1.下载安装vm软件,地址:VM下载2.下载win10iso镜像文件(1)下载win10安装工具:win10安装工具下载(2)下载完成后,选择给其他电脑安装ios文件即可得到win10的iso镜像文件(考验网速的时刻到了)。ps:试过各种百度出来的镜像文件,发现没有能用的,还是乖乖通过官方方式下载吧。3.安装win10ios镜像文件参…

    2022年6月29日
    30
  • Python画图

    Python画图帮别人实现rubberfriction的运算公式。公式不是我专业的内容,完全不懂,只是照着公式用python计算并画图。做出的图,与论文中的图进行对比,完全一致。之所以用python,是因为mat

    2022年7月5日
    24
  • 看了很多人的面试经验,我也来一段:这段时间的几个面试

    看了很多人的面试经验,我也来一段:这段时间的几个面试
    泉州巴黎婚纱摄影
     
    店门口摆了个牌子,说招聘20名数码师,月薪2000-4000。又在网上也看到招聘启事,投了。
     
    投完,人才网收到个面试通知,不过简历状态竟然是未阅?通知人面试连简历都不看的?打了个电话过去,又给了我个电话,再打过去,电话里跟我说,我们这个职位啊,工作时间长工资低(6+*12+,<=800),你要有心理准备……KAO,牌子上不是写的2000-4000吗?到底打的啥鬼主意?
     
    过阵子在百度PS吧,看到有人发了一个贴

    2022年5月4日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号