Logging
如果給定“.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;/;
當然。它看起來像是來自歐洲機器學習會議和歐洲數據庫發現挑戰賽中知識發現的原則和實踐會議 2005競賽的日誌。他們有一個描述數據格式的頁面和一個關於網站數據的常見問題解答。
(我可以通過觀察它們來判斷那些是一些舊的 unix 時間戳…… 2004 年份,那些是。)
這不是任何標準的日誌格式(順便說一句,syslog 是一種協議,而不是一種日誌格式。)
在方法論方面,我從只看線條開始。我可以通過查看數字的大小來判斷第二個欄位是 Unix 紀元日期。顯然,第三個欄位是 IPv4 地址。第五個欄位是 32 個十六進制數字,因此很可能是 MD5 和。下一個欄位看起來像 URL 和查詢的分層部分。最後一個欄位看起來像一個 URL,我傾向於推測它是一個引用。
因此,它看起來像一個 Web 伺服器日誌。
我使用 Google 搜尋了雜湊值,因為我很好奇這些數據是否出現在其他任何地方。果然,其中一個雜湊值出現在我上面連結的頁面中。