如果给定一个“.log”文件,有没有办法确定日志格式?

如果给定一个“.log”文件,有没有办法确定日志格式?

如果我事先不知道日志的类型(例如 syslog、apache 日志、IIS 日志),有没有办法确定日志的类型(以便可以正确解析)?我正在尝试为日志编写 Grok 过滤器,但我不知道这些字段代表什么。

这些是日志的前几行:

14;1074585600;147.33.10.112;89ccfad2c4bbc02c91ed66055a235fca;/ls/index.php?      &id=62&view=1,2,3,4,6,9&sort=,13,4&pozice=40;hXXX://YYY.shop4.cz/ls/index.php?&id=62&view=1,2,3,4,6,9&sort=,13,4&pozice=20

12;1074585600;57.66.66.138;17bff4c98f96413dbe748c9cd8822da9;/ct/?c=158;hXXX://YYY.shop3.cz

14;1074585600;194.196.100.86;e9455a109435408eb7b8e170d636d024;/klient/seznam.php;hXXX://YYY.shop4.cz/klient/zpravy.php

11;1074585600;66.77.73.176;88dc79e8eb5968d936a7d563af55bd08;/dt/?id=9354;

10;1074585601;158.196.177.79;cbf84093e4740423436abaf3c1a65ebc;/;

答案1

当然。它看起来像是来自欧洲机器学习会议和欧洲数据库发现挑战知识发现原则与实践会议 2005竞争。他们有描述数据格式的页面和一个数据常见问题解答在网站上。

(我只需目测就能知道它们是一些旧的 unix 时间戳......它们是 2004 年的。)

这不是任何标准日志格式(并且,顺便说一句,syslog 是一种协议,而不是日志格式。)

在方法论方面,我首先只是查看行。我可以通过查看数字的大小来判断第二个字段是 Unix 纪元日期。显然,第三个字段是 IPv4 地址。第五个字段是 32 个十六进制数字,因此很可能是 MD5 和。下一个字段看起来像 URL 和查询的层次结构部分。最后一个字段看起来像 URL,我倾向于推测它是一个 referer。

因此,它看起来像一个网络服务器日志。

我使用 Google 搜索了哈希值,因为我很好奇这些数据是否在其他地方出现过。果然,其中一个哈希值出现在我上面链接的页面中。

相关内容