资讯专栏INFORMATION COLUMN

mod_sflow 轻量、实时的流量分析 Apache 模块

liaoyg8023 / 1542人阅读

摘要:是一个基于的轻量持续实时的模块。通过流量分析,可以实现更有效地监控网络的状况。目前已有大量设备支持协议。通过分布在网络不同位置的将数据传送给中央采集器,由中央采集器进行分析。使用采样分析技术。这是问题的临时解决方案。

mod_sflow是一个基于 Apache 的轻量、持续、实时的 sFlow 模块。

什么是 sFlow

sFlow 是一种网络流量分析的协议。通过流量分析,可以实现更有效地监控网络的状况。例如,最近爆出的OpenSSL心脏出血漏洞,由于是通过 OpenSSL 漏洞直接读取内存信息,而不是直接入侵系统,因此服务器日志上不会有相关的记录,使用常规手段难以难以追查。但是,由于来回通信包的长度等特征非常明显,因此利用sFlow之类的技术分析流量特征,就可以追溯攻击流量和攻击历史。特别是,这次的 OpenSSL 漏洞可以无限制反复利用,这既方便了攻击者,不用依靠精妙的技巧来操控读取地址,反复读取即可获得大量内存片段,另一方面也使攻击行为更容易被侦测到。

目前已有大量设备支持sFlow协议。sFlow协议的以下特性使其非常适合监测大流量传输的网络:

使用内置在硬件中的专用芯片,减轻路由器或交换机的CPU、内存负担。

通过分布在网络不同位置的 sFlow agent 将数据传送给中央 sFlow 采集器,由中央采集器进行分析。

使用采样分析技术。大部分的包被丢弃,只留下样本被传送给采集器。sFlow 协议也支持 1:1 的采样,也就是收集每个包的信息。只不过具体的芯片实现的最大采样率有所不同。

mod_sflow 就是一个开源的 sFlow 中央采集器,可以实时分析收到的 sFlow 数据。

安装

编译安装此模块于 Apache 的模块目录,同时在 apache httpd.conf 目录中添加此项:

rm -f `apxs -q LIBEXECDIR`/mod_sflow.so
apxs -c -i -a mod_sflow.c sflow_api.c

重启 Apache 服务:

apachectl restart

注意,rm -f那一步很重要。这是 Apache #47951 问题的临时解决方案。

配置

mod_sflow 会读取 /etc/hsflowd.auto的信息。这个文件会在你运行hsflowd服务时自动生成。

你也可以在httpd.conf../httpd/conf.d/sflow.conf 中配置:


      
        SetHandler sflow
      

重启 Apache 后,你可以访问 http:///sflow/ 来查看状态:

counter method_option_count 0
counter method_get_count 34
counter method_head_count 0
counter method_post_count 0
counter method_put_count 0
counter method_delete_count 0
counter method_trace_count 0
counter method_connect_count 0
counter method_other_count 0
counter status_1XX_count 0
counter status_2XX_count 17
counter status_3XX_count 0
counter status_4XX_count 17
counter status_5XX_count 0
counter status_other_count 0
string hostname 10.0.0.119
gauge sampling_n 400
输出

mod_sflow 的会在 UDP 端口输出内容。你可以使用支持 sFlow 协议的工具查看,例如,免费软件 sflowtool。

sflowtool的会输出类似如下的内容:

  startDatagram =================================
    datagramSourceIP 10.0.0.150
    datagramSize 192
    unixSecondsUTC 1294168545
    datagramVersion 5
    agentSubId 32576
    agent 10.0.0.150
    packetSequenceNo 7
    sysUpTime 25000
    samplesInPacket 1
    startSample ----------------------
    sampleType_tag 0:1
    sampleType FLOWSAMPLE
    sampleSequenceNo 1
    sourceId 3:65537
    meanSkipCount 400
    samplePool 124
    dropEvents 0
    inputPort 0
    outputPort 1073741823
    flowBlock_tag 0:2100
    extendedType socket4
    socket4_ip_protocol 6
    socket4_local_ip 10.0.0.150
    socket4_remote_ip 10.0.0.70
    socket4_local_port 80
    socket4_remote_port 63023
    flowBlock_tag 0:2201
    flowSampleType http
    http_method 2
    http_protocol 1001
    http_uri /membase.php
    http_host 10.0.0.150
    http_useragent Java/1.6.0_22
    http_bytes 3487
    http_duration_uS 24278
    http_status 200
    endSample   ----------------------
    endDatagram   =================================
    startDatagram =================================
    datagramSourceIP 10.0.0.150
    datagramSize 116
    unixSecondsUTC 1294168501
    datagramVersion 5
    agentSubId 32576
    agent 10.0.0.150
    packetSequenceNo 3
    sysUpTime 42000
    samplesInPacket 1
    startSample ----------------------
    sampleType_tag 0:2
    sampleType COUNTERSSAMPLE
    sampleSequenceNo 3
    sourceId 3:65537
    counterBlock_tag 0:2201
    http_method_option_count 0
    http_method_get_count 113
    http_method_head_count 0
    http_method_post_count 0
    http_method_put_count 0
    http_method_delete_count 0
    http_method_trace_count 0
    http_methd_connect_count 0
    http_method_other_count 0
    http_status_1XX_count 0
    http_status_2XX_count 112
    http_status_3XX_count 0
    http_status_4XX_count 1
    http_status_5XX_count 0
    http_status_other_count 0
    endSample   ----------------------
    endDatagram   =================================

mod_sflow项目主页


编撰 SegmentFault

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35729.html

相关文章

  • Docker 应用是安全吗?

    摘要:如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。自适应安全平台集成了预测预防检测和响应的能力,为您提供精准持续可视化的安全防护。 近一年来,Docker 已经逐渐成为 container 界的事实标准,成为技术人员不可或缺的技能之一,就像 Docker 宣称的那样,「Build,Ship,and Run Any App,Anywhere」,容器极大简化了环境...

    darry 评论0 收藏0
  • 你公司到底需不需要引入实时计算引擎?

    摘要:再如通过处理流数据生成简单的报告,如五分钟的窗口聚合数据平均值。复杂的事情还有在流数据中进行数据多维度关联聚合塞选,从而找到复杂事件中的根因。因为各种需求,也就造就了现在不断出现实时计算框架,而下文我们将重磅介绍我们推荐的实时计算框架。 前言 先广而告之,本文摘自本人《大数据重磅炸弹——实时计算框架 Flink》课程第二篇,内容首发自我的知识星球,后面持续在星球里更新,这里做个预告,今...

    HackerShell 评论0 收藏0
  • 基于Nginx日志异常监控策略

    摘要:我会写一些是后端技术前端工程相关的文章,偶尔会有一些大数据相关,也会推荐一些好玩的东西。 showImg(https://segmentfault.com/img/remote/1460000006767498); Nginx作为所有HTTP请求的入口,是非常重要的一层。本文主要介绍如何利用 Nginx日志实时监控每个业务的请求异常。​ 这篇文章基于我之前的的一篇 《基于Lua+Kaf...

    meislzhua 评论0 收藏0
  • 十分钟解决爬虫问题!超轻量级反爬虫方案

    摘要:爬虫和反爬虫日益成为每家公司的标配系统。本文将描述一种尽量简单的反爬虫方案,可以在十几分钟内解决部分简单的爬虫问题,缓解恶意攻击或者是系统超负荷运行的状况至于复杂的爬虫以及更精准的防御,需要另外讨论。 showImg(https://segmentfault.com/img/bVDYV4?w=800&h=568); 爬虫和反爬虫日益成为每家公司的标配系统。爬虫在情报获取、虚假流量、动态...

    LeanCloud 评论0 收藏0
  • 十分钟解决爬虫问题!超轻量级反爬虫方案

    摘要:爬虫和反爬虫日益成为每家公司的标配系统。本文将描述一种尽量简单的反爬虫方案,可以在十几分钟内解决部分简单的爬虫问题,缓解恶意攻击或者是系统超负荷运行的状况至于复杂的爬虫以及更精准的防御,需要另外讨论。 showImg(https://segmentfault.com/img/bVDYV4?w=800&h=568); 爬虫和反爬虫日益成为每家公司的标配系统。爬虫在情报获取、虚假流量、动态...

    Jeff 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<