|
|
51CTO旗下网站
|
|
移动端

1.3.3 用Logparser 分析FTP 日志

《UNIX/Linux网络日志分析与流量监控》第1章网络日志获取与分析,本章将介绍如何获取并分析各类系统的日志。学习好本章内容,将为后续章节的案例分析打下良好的基础。本节为大家介绍用Logparser 分析FTP 日志。

作者:李晨光来源:机械工业出版社|2014-11-26 16:51

【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道

1.3.3 用Logparser 分析FTP 日志

微软的IIS 服务器常常成为入侵对象。LogParser 工具是Windows 系统下功能非常强大的日志分析工具,它可以分析IIS 日志、操作系统事件日志,还能分析CSV 和XML 等文件格式,尤其对于上百MB 的日志文件都可以快速分析,利用LogParser 能轻松查出所需数据,而且还能以图表的形式输出结果。下面就用这款工具来筛选FTP 日志中的异常连接。主要分为收集Ftp 日志、导入数据库、日志数据筛选和异常数据分离四个步骤:

步骤一:FTP 日志的采集

微软IIS 服务器的FTP 日志文件默认位置为%systemroot%\system32\LogFiles\MSFTPSVC1\,对于绝大多数系统而言则是C:\WINDOWS\system32\LogFiles\MSFTPSVC1(如果安装系统时定义了系统存放目录则根据实际情况修改),系统默认每天自动生成一个日志文件。日志文件的名称格式是:ex + 年份的末两位数字+月份+日期,如2013 年3 月19日的FTP 日志文件是ex130319.log,这是个文本文件,可以用任何编辑器打开,例如记事本程序。

为了详细地分析采集来的FTP 日志,会用到一些常见的命令,如USER〈用户名〉、PASS〈密码〉、DELE<文件名>、QUIT 等,由于命令较多,就不一一列出了。常见的响应提示信息见表1-5(与Apache 的类似)。

表1-5 FTP 响应信息含义

FTP 命令加上响应号才具有实际意义,例如:USER stu 331 表示用户试图登录,PASS-230 表示登录成功。

步骤二:FTP 日志导入MS SQL 数据库

把Ftp 日志导入到SQL Server 数据库,首先需要安装LogParser 2.2+SQL Server 环境;然后在待分析计算机上装好SQL Server 环境,并新建数据库名为iis;最后将IIS 日志复制到本机。准备工作完成后输入如下命令:

  1. logparser.exe "select * from C:\WINDOWS\system32\LogFiles\MSFTPSVC1\ex*.log to iisftplog_table"  
  2. -o:sql -server:127.0.0.1 -driver:"sql server" -database:iis -username:sa -password:123456 -createtable:on 

命令执行和输出效果如图1-11 所示。

在执行以上命令时,一定要指定日志文件的完整路径,否则将出现找不到日志的提示。当Logparser 程序正确输出后,就可以打开并检查数据库了,如图1-12、图1-13 所示。

步骤三:FTP 日志数据的筛选

IIS 的FTP 日志包括5 个域,分别是time、c-ip、cs-method、cs-uri-stem 和sc-status。下面选取了FTP 服务器某日白天的日志,共1 万多条记录。

  1. #Software: Microsoft Internet Information Services 5.2  
  2. #Version: 1.0 

  1. #Date: 2010-05-08 08:30:23  
  2. #Fields: time c-ip cs-method es-uri-strem sc-status  
  3. 08:30:23 192.168.3.62 [1]USER stu 331  
  4. 08:30:23 192.168.3.62 [1]PASS - 530  
  5. 08:30:28 192.168.3.62 [2]USER stu 331  
  6. 08:30:29 192.168.3.62 [2]PASS - 530  
  7. ... ...  
  8. 09:10:23 192.168.3.135 [15]USER anonymous 331  
  9. 09:10:23 192.168.3.135 [15]PASS IEUser@ 230  
  10. 09:10:37 10.10.1.200 [16]USER px 331  
  11. 09:10:37 10.10.1.200 [16]PASS - 530  
  12. ... ...  
  13. 21:44:21 63.103.87.197 [1163]USER anonymous 331  
  14. 21:44:21 63.103.87.197 [1163]PASS yourname@yourcompany.com 230  
  15. 21:44:40 63.103.87.197 [1163]sent /mp3.ape 550 

将FTP 日志文件导入MS SQL 数据库后,字段名保留日志文件中的名字,下面就可以通过脚本对FTP 进行深度处理。

步骤四:分离正常与异常数据源

FTP 日志文件导入至MS SQL 服务器后,在数据库中用SQL 命令将每天的数据都按csmethod字段进行升序排序。每天日志中cs-method 字段相同的记录表示该用户当前登录所做的一系列操作,数据库中记录是否出现异常响应,可以根据sc-status 字段的值来判断,例如如果出现登录错误,即PASS-530,连续出现3 次以上,则认为异常。可以将异常的登录错误信息输出。经过这样对FTP 日志文件进行的深度挖掘,能非常方便管理人员迅速判断故障,提高工作效率和准确度。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:342347198

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

ASP.NET 2.0数据库开发实例精粹

本书分为8章,首先介绍ASP.NET的开发技巧和重点技术,尤其针对初学者如何快速入门并掌握ASP.NET编程做了深入浅出的介绍;然后重点介绍ASP.N...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊