免費數據分析工具:secsoso

    前段時間思考了理想數據分析平臺,之後我們根據這個思路開發了spl語言並提供了一個數據分析平臺,這個平臺主要用在搜索ES,數據庫索引中的數據。但後來發現對文件的事後處理也是個非常重要的事情。當問題發生後,很多時候需要對文件進行分析取證。在linux下還有一堆的命令可以使用,但很多時候使用起來也比較麻煩。在windows基本沒有啥好的工具。在這種情況下我們開發了一款免費的對文件分析的小工具secsoso.

    先舉一個示例:列出當天訪問次數最多的IP命令。

    在Linux下可以用如下命令:

    cut -d- -f 1 log_file|uniq -c | sort -rn | head -20

    用secsoso的命令爲:

    secsoso ‘access.log|stats  count($1) by ip|sort 20 -count_ip’

通過對比發現,兩者有類似的地方,也有不同的地方,類似的地方都是用|作爲管道來進行操作,不同的地方是secsoso只有一個命令,其他的都是內部的參數使用,而且這個參數命令和sql有些類似,方便學習和記憶。

    secsoso不僅僅是linux命令的一些替換,有時候用linux命令不太好實現的事情用secsoso也能實現,舉例如下:

    統計每個小時的訪問次數

     secsoso 'access.log|eval date=$4.to_date("[dd/MMM/yyyy:HH:mm:ss")|stats count(date) by tspan(date,"1h")'

這個是對日誌中的時間進行了轉換,通過轉換後的時間可以用到時間統計的一些方法。這種場景用linux腳本實現可能會比較麻煩。

    在舉例幾個複雜的場景來驗證下secsoso的功能:

 

    統計具有cc攻擊的用戶ip(單位時間內訪問次數超過閾值的用戶),每小時大於100

secsoso  'access.log|eval date=$4.to_date("[dd/MMM/yyyy:HH:mm:ss")|stats $1 as ip,count(date) as count by tspan(date,"1h"),$1|search count>100'

結果如下:

        tspan_date                         ip            count

2013-09-18 08:00:00              114.252.89.91               79

2013-09-18 08:00:00             116.24.236.137               68

2013-09-18 08:00:00               202.84.17.41               84

2013-09-18 08:00:00               203.192.6.59               83

    網站登錄密碼猜測

比如5分鐘大於10次同一個ip登錄密碼錯誤,認爲是密碼猜測,然後把所有IP找到,日誌示例:

114.221.137.86 - - [11/Sep/2019:10:25:39 +0800] "POST /login HTTP/1.1" 200 1111 https://secilog.secisland.com/login Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.105 Safari/537.36 Vivaldi/2.4.1488.40

secsoso 'access.log $6="*POST" $7="*/login"  $9="200"| eval date=$4.to_date("[dd/MMM/yyyy:HH:mm:ss")|stats count($1) as count by tspan(date,"5m"),$1| search count>10|stats sum(count) by $1'

結果如下:

                $1            sum_count

111.192.165.229                   14

    通過以上分析可以發現,secsoso可以滿足日常生活的很多統計分析功能。可以作爲linux或者windows平臺上的一個有利的補充。

賽克藍德是一家數據分析公司,本着數據改變生活的理念,致力於提供方便好用的數據分析產品。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章