2015-10-31 70 views
0

我有很大的訪問日誌(〜30Gb),我正在尋找查找可疑/ bot IP地址的方法。當然,我們可以用(IP + User_Agent)替換IP。所以我的問題是:在大訪問日誌(〜30Gb)中檢測可疑/ bot IP地址

  • 發現,從任何IP做到這一點比一般使更多的請求
  • 查找IP地址的平均請求數(參見前一點),這些regulary做請求
  • 查找IP地址白天有關如何檢測機器人

此日誌

  • 你的建議(每例如小時)是相當大的,我不認爲是R郎可以處理它。我應該在R後面使用某種存儲(hadoop或類似的東西)嗎?我絕對沒有經驗處理/分析大數據,所以任何想法,建議& tuts /文章讚賞。

  • +0

    https://cran.r-project.org/web/packages/bigmemory/vignettes/Overview.pdf - 請注意,30GB的數據取決於文件的寬度,最初可能需要大約一個小時才能加載。所以...設置它,並忘記它,如果你在一臺虛弱的機器或筆記本電腦上工作。 –

    +0

    如果你擔心多個請求,你會在文件的第一個1gb中同樣看到它,就像你在過去的20gb一樣。你甚至試過裝載你的任何數據嗎? –

    +0

    @BrandonBertelsen謝謝'bigmemory'庫提示 - 我會試試看。關於第一個1Gb的數據:你的意思是說,分析3%的數據片段將顯示與整個100%的數據大致相同的結果? – Kirzilla

    回答

    0

    訪問日誌可能包含很多根據您的問題可能不需要的數據,如果您只關心請求和創建IP的時間,則可以通過從列中提取「列」來輕鬆減少數據大小在讀入R之前的輸入,一些標準的命令行工具(如cut或awk)應該能夠做到這一點。 如果你想保留更多細節,另一個選擇可能是將訪問日誌加載到數據庫中並將其用於進一步處理,30GB對於數據庫並不是很多,但這當然意味着一些額外的工作:設計數據庫模式和一種在數據庫中加載數據的方法。

    0

    你也可以做以下類型的分析

    • 獲取IP地址的地理位置和基於geo_location +時間geo_location比較訪問頻率(訪問頻率會期間,在地理一天的時間是正常的位置,但午夜後沒有)
    • 如果你的用戶名信息,檢查是否在同一時間段多個IP地址使用相同的用戶名

    WSO2做了使用他們的一些異常檢測工作分析平臺對於大多數異常檢測場景都具有很好的可擴展性。檢查出來 - http://wso2.com/analytics/solutions/fraud-and-anomaly-detection-solution/ 這可能是一個比通過R做更好的選擇,因爲它可以讓你做複雜的事件處理(通過SQL查詢)以及機器學習。

    0

    你也可以做以下類型的分析

    a)如果IP地址是從數據中心範圍內,它是由一個機器人比普通用戶可能的。

    b)如果IP地址來自搜索引擎範圍,則很可能來自搜索引擎機器人。

    您可以從IP2Location獲取具有使用類型信息的地理位置數據庫,以檢測數據中心或搜索引擎。