ogParser安装:
大家可以在微软官网下载、安装。安装过程很简单,一步到位。
LogParser使用方法:
LogParser使用过程其实很简单,总结其实就是一个公式:
LogParser –i:输入文件的格式 –o:想要输出的格式 “SQL语句”
针对不同类型的文件,要正确的选择输入文件的格式,接下来我们可以看下,LogParser支持哪些格式的输入?
这边主要给大家介绍的是NCSA文件格式,可能大家对这种格式比较陌生。NCSA(美国国家超级计算技术应用中心)格式是常用的标准日志格式。
目前市面上主要有两种常见的WEB日志格式,一种是IIS的W3C日志格式,这类我们比较熟悉,另一类其实就是以Apache为代表的NCSA日志格式,像常见的Nginx、Apache就是NCSA标准的日志格式。
看完常见的输入日志格式,我们来看下常见的输出文件类型的格式:
除了常见的CSV、XML、SQL等输出格式外,LogParser还提供DATAGRID(网格)和CHART(图表)形式的输出。
LogParser使用展示:
接下来,我们就以IIS日志文件为例,给大家演示LogParser使用的方法和分析效果。
1、IIS日志统计最经常访问的IP
提供N个log文件,需要统计出访问次数最多的IP以及次数
(a)首先我们一般先使用DATAGRID这种格式输出,看看日志中有什么样的字段,处理是否有问题,以上案例我们可以使用以下命令:
LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:\log\*.log"
这就是通过DATAGRID显示的格式的效果,因为数据量的原因,默认只显示10条数据,用户可以在右下角选择“全部显示”或者“显示后面10条数据”不断的增加数据显示
(b)明白套路之后,我们就可以使用SQL语句统计实现我们需要的数据。
LogParser.exe -i:IISW3C -o:DATAGRID "SELECT c-ip,COUNT(c-ip) FROM D:\log\*.log GROUP BY c-ip ORDER BY COUNT(c-iP) DESC"
(c)除了用DATAGRID这种格式之外,也可以将结果数据导出到常用的表格中如csv中。
LogParser.exe -i:IISW3C -o:csv "SELECT c-ip,COUNT(c-ip) into 1.csv FROM D:\log\*.log GROUP BY c-ip ORDER BY COUNT(c-iP) DESC
这时候在安装目录下就会生成一个1.csv的文件,当然也可以指定生成的文件的路径,只要在文件名前加上路径:LogParser.exe -i:IISW3C -o:csv "SELECT c-ip,COUNT(c-ip) into D:\ 1.csv FROM D:\log\*.log GROUP BY c-ip ORDER BY COUNT(c-iP) DESC
(d)除此之外,我们还可以使用CHART来生成不同的图表,比如:
LogParser.exe -i:IISW3C -o:CHART "SELECT TOP5 c-ip,COUNT(c-ip) into 1.jpg FROM D:\log\*.log GROUP BY c-ip ORDER BY COUNT(c-iP) DESC" -chartType:PieExploded3D -chartTitle:"IP TIMES"
最后的-chartType:PieExploded3D -chartTitle:"IP TIMES"字段分别告诉软件生成图表的类型是PieExploded3D(饼状图)和图表名字为‘’IP TIMES‘’
也可以生成其他的图形,只要告诉软件指定的图表类型,比如:
LogParser.exe -i:IISW3C -o:CHART "SELECT TOP5 c-ip,COUNT(c-ip) into 1.jpg FROM D:\log\*.logGROUP BY c-ip ORDER BY COUNT(c-iP) DESC" -chartType:BAR3D-chartTitle:"IP TIMES"
2、在日志中搜索特殊的访问链接或者特定的请求方式
在入侵事件中,我们经常会需要查找“post”请求,判断是否有上传木马文件等行为,或者访问页面中包含“user”、“manager”、“admin”等类似管理员的字段判断是否访问了后台管理页面。
LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:/log/*.log WHERE cs-method='POST'"
LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:/log/*.log WHERE cs-uri-stem LIKE '%admin%'"
通过上面的例子,相信大家对LogParser的用法有了一定的了解,其实就如之前说的只要定义好输入、输出,其他只需要我们写好相应的SQL语句即可。
这时候大家可能会说,这LogParser好用是好用,强大也是真强大,就是这个命令提示符不太友好啊,别急,这时候小知就要出来说话了。
小知给大家隆重介绍一款带GUI的LogParser,也就是LogParser Studio,也是微软提供的日志分析软件,基于LogParser 构建,并具有用户界面,方便用户做查询使用。
LogParser Studio安装:
大家同样可以在微软官网下载、安装LogParser Studio下载之后,解压运行LPS.exe即可。有一点要注意,使用LogParser Studio之前需要先安装LogParser
LogParser Studio使用:
打开LPS.exe之后,看到的软件主界面,如下图所示:
软件已经内置了一些常见的日志类型的查询语句,如果大家需要查询统计的信息在这个库中,可以直接选中,双击打开运行即可。
接下来我们来看下如何选择我们需要分析的文件,然后按照实际需要自定义SQL语句进行统计分析。
(a)打开需要分析的日志文件
(b)选中需要分析的日志文件,接着新建一个查询
(a) 我们还是以刚才统计出访问次数最多的IP地址及次数为例子
SELECT top 10 c-ip,count(c-ip) FROM '[LOGFILEPATH]' GROUP BY c-ip ORDER BYCOUNT(c-iP) DESC
(d)然后点击我们的执行按钮,即可输出结果
这里注意LogParser Studio与LogParser有几个区别:
1、输入文件类型:LogParser Studio已经预先选择输入文件类型,查询语句不需要再定义
2、输出文件类型:LogParser Studio默认使用窗口展示数据,如需指定其他输出文件类型或者导出文件,需要在语句中定义
(e)也可将我们自定义的SQL语句,保存加入到库中,方便下次使用
(f)也可点击相应的按钮将查询统计的数据导出。