在大访问日志中检测可疑/僵尸网络IP地址(~30Gb)

时间:2015-10-31 20:30:31

标签: r hadoop bigdata

我有大访问日志(~30Gb),我正在寻找查找可疑/僵尸网络IP地址的方法。当然,我们可以用(IP + User_Agent)替换IP。所以我的问题是:

  • 查找从任何IP
  • 完成的平均请求数
  • 查找请求数量多于平均值的IP地址(请参阅上一点)
  • 在白天找到定期执行请求的IP地址(例如每小时)
  • 您有关如何检测机器人的建议

这个日志相当大,我不认为R lang可以处理它。我应该在R(hadoop或类似的东西)后面使用某种存储吗?我绝对没有处理/分析大数据的经验,所以任何想法,建议&赞赏/文章。

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

WSO2使用他们的分析平台完成了一些异常检测工作,该平台对于大多数异常检测方案都具有相当的可扩展性。看看 - http://wso2.com/analytics/solutions/fraud-and-anomaly-detection-solution/ 这可能是比通过R做的更好的选择,因为它允许您执行复杂的事件处理(通过SQL查询)以及机器学习。

答案 2 :(得分:0)

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

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

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

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

答案 3 :(得分:0)

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