ogParser安装:

大家可以在微软官网下载、安装。安装过程很简单,一步到位。

LogParser使用方法:

LogParser使用过程其实很简单,总结其实就是一个公式:

LogParser –i:输入文件的格式 –o:想要输出的格式 “SQL语句”

针对不同类型的文件,要正确的选择输入文件的格式,接下来我们可以看下,LogParser支持哪些格式的输入?

sqlite看日志_sqlite看日志

这边主要给大家介绍的是NCSA文件格式,可能大家对这种格式比较陌生。NCSA(美国国家超级计算技术应用中心)格式是常用的标准日志格式。

目前市面上主要有两种常见的WEB日志格式,一种是IIS的W3C日志格式,这类我们比较熟悉,另一类其实就是以Apache为代表的NCSA日志格式,像常见的Nginx、Apache就是NCSA标准的日志格式。

看完常见的输入日志格式,我们来看下常见的输出文件类型的格式:

sqlite看日志_sql 提示日志满了_02

除了常见的CSV、XML、SQL等输出格式外,LogParser还提供DATAGRID(网格)和CHART(图表)形式的输出。

LogParser使用展示:

接下来,我们就以IIS日志文件为例,给大家演示LogParser使用的方法和分析效果。

1、IIS日志统计最经常访问的IP

提供N个log文件,需要统计出访问次数最多的IP以及次数

sqlite看日志_SQL_03

sqlite看日志_sqlite看日志_04

(a)首先我们一般先使用DATAGRID这种格式输出,看看日志中有什么样的字段,处理是否有问题,以上案例我们可以使用以下命令:

 LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:\log\*.log" 

sqlite看日志_SQL_05

这就是通过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"

sqlite看日志_sql 提示日志满了_06

(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

sqlite看日志_SQL_07

(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‘’

sqlite看日志_sqlite看日志_08

也可以生成其他的图形,只要告诉软件指定的图表类型,比如:

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"

sqlite看日志_sqlite看日志_09

2、在日志中搜索特殊的访问链接或者特定的请求方式

在入侵事件中,我们经常会需要查找“post”请求,判断是否有上传木马文件等行为,或者访问页面中包含“user”、“manager”、“admin”等类似管理员的字段判断是否访问了后台管理页面。

LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:/log/*.log WHERE cs-method='POST'"

sqlite看日志_IP_10

LogParser.exe -i:IISW3C -o:DATAGRID "SELECT * FROM D:/log/*.log WHERE cs-uri-stem LIKE '%admin%'"

sqlite看日志_sqlite看日志_11

通过上面的例子,相信大家对LogParser的用法有了一定的了解,其实就如之前说的只要定义好输入、输出,其他只需要我们写好相应的SQL语句即可。

sqlite看日志_IP_12

这时候大家可能会说,这LogParser好用是好用,强大也是真强大,就是这个命令提示符不太友好啊,别急,这时候小知就要出来说话了。

sqlite看日志_SQL_13

小知给大家隆重介绍一款带GUI的LogParser,也就是LogParser Studio,也是微软提供的日志分析软件,基于LogParser 构建,并具有用户界面,方便用户做查询使用。

LogParser Studio安装:

大家同样可以在微软官网下载、安装LogParser Studio下载之后,解压运行LPS.exe即可。有一点要注意,使用LogParser Studio之前需要先安装LogParser

LogParser Studio使用:

打开LPS.exe之后,看到的软件主界面,如下图所示:

sqlite看日志_sqlite看日志_14

软件已经内置了一些常见的日志类型的查询语句,如果大家需要查询统计的信息在这个库中,可以直接选中,双击打开运行即可。

sqlite看日志_日志分析_15

sqlite看日志_日志分析_15

sqlite看日志_日志分析_15

接下来我们来看下如何选择我们需要分析的文件,然后按照实际需要自定义SQL语句进行统计分析。

(a)打开需要分析的日志文件

sqlite看日志_日志分析_18

sqlite看日志_IP_19

(b)选中需要分析的日志文件,接着新建一个查询

sqlite看日志_sql 提示日志满了_20

sqlite看日志_SQL_21

(a)  我们还是以刚才统计出访问次数最多的IP地址及次数为例子

SELECT top 10 c-ip,count(c-ip) FROM '[LOGFILEPATH]' GROUP BY c-ip ORDER BYCOUNT(c-iP) DESC

(d)然后点击我们的执行按钮,即可输出结果

sqlite看日志_IP_22

sqlite看日志_日志分析_23

这里注意LogParser Studio与LogParser有几个区别:

1、输入文件类型:LogParser Studio已经预先选择输入文件类型,查询语句不需要再定义

2、输出文件类型:LogParser Studio默认使用窗口展示数据,如需指定其他输出文件类型或者导出文件,需要在语句中定义

(e)也可将我们自定义的SQL语句,保存加入到库中,方便下次使用

sqlite看日志_SQL_24

(f)也可点击相应的按钮将查询统计的数据导出。

sqlite看日志_IP_25