在大型访问日志(〜30Gb)中检测可疑/机器人IP地址

问题描述 投票:0回答:4

我有大量访问日志(〜30Gb),我正在寻找查找可疑/机器人IP地址的方法。当然,我们可以用(IP + User_Agent)代替IP。所以我的问题是:

  • 通过任何IP查找平均请求数
  • 发现发出比平均请求更多请求的IP地址(请参阅上一点)
  • 查找白天经常(例如每小时)请求的IP地址
  • 您对如何检测机器人的建议

此日志相当大,我认为R lang无法处理它。我应该在R后面使用某种存储方式(hadoop或类似的东西)吗?我绝对没有处理/分析大数据的经验,因此任何想法,建议和评论/文章都值得赞赏。

r hadoop bigdata
4个回答
0
投票

访问日志可能包含很多数据,根据您的问题,您可能不需要这些数据,如果您只关心请求时间和原始IP,则可以通过从输入中提取“列”来轻松地减少数据大小在将其读入R之前,应使用一些标准命令行工具(例如cut或awk)来解决问题。如果您想保留更多详细信息,另一种选择是将访问日志加载到数据库中并用于进一步处理,对于数据库来说30GB并不多,但这当然意味着一些额外的工作:设计datbase模式和一个在数据库中加载数据的方法。


0
投票

您也可以进行以下类型的分析

  • 获取IP地址的地理位置,并根据geolocation + geo_location的时间比较访问频率(该访问频率可能在白天在geo location处是正常的,但不是在午夜之后)
  • 如果您具有用户名信息,请检查在同一时间段内是否有多个IP地址使用相同的用户名

WSO2已使用其Analytics(分析)平台完成了一些异常检测工作,该平台可针对大多数异常检测方案进行很好的扩展。签出-http://wso2.com/analytics/solutions/fraud-and-anomaly-detection-solution/这可能比通过R更好,因为它允许您执行复杂的事件处理(通过类似查询的SQL)以及机器学习。


0
投票

您也可以进行以下类型的分析

a)如果IP地址来自数据中心范围,则它可能是来自漫游器的,而不是来自普通用户。

b)如果IP地址来自搜索引擎范围,则很有可能来自搜索引擎机器人。

您可以从IP2Location获取地理位置数据库,该数据库具有使用类型信息来检测数据中心或搜索引擎。


0
投票

检查goaccess.io-为我工作。具有用于不同网站的日志,分布在多个服务器上。允许使用GEOiP并开箱即用地识别机器人。

© www.soinside.com 2019 - 2024. All rights reserved.