首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持扩展的IPFIX收集器

支持扩展的IPFIX收集器
EN

Server Fault用户
提问于 2014-08-12 22:37:19
回答 3查看 1.2K关注 0票数 1

我需要一个工具来收集IPFIX记录,并将每个数据包的内容记录到日志文件或数据库中,以验证IPFIX发射器的准确性。这个IPFIX发射器在我需要验证的ipfix记录以及标准套件中发送企业扩展。

到目前为止,我已经了解了NFDump,它满足了我收集和存储记录的需求,但从我到目前为止所看到的情况来看,它不会存储企业扩展的内容。

可以配置NFDump来存储企业扩展吗?是否有不同的IPFIX收集器能满足我的需要?

EN

回答 3

Server Fault用户

发布于 2014-08-13 11:13:06

审查员可以做到这一点。我们需要一个文档来解释您的企业元素的内容,我们可以在几个小时内完成它。

票数 1
EN

Server Fault用户

发布于 2014-08-14 14:57:38

正如Felix所建议的那样,更多的澄清和链接可能会有所帮助。所以就这样..。

IPFIX增加了供应商使用自己的信息元素(IEs)扩展IPFIX的能力。这是非常强大的,但协议并不能传输收集器解释IEs所需的所有信息。要有效地解释IEs,收集器需要知道IE数据类型、语义等。

对于标准IEs,此信息可在IANA http://www.iana.org/assignments/ipfix中获得)。对于供应商IEs,此信息在任何标准位置或格式中都不可用。

对于oonska来说,这意味着收集器可以支持IPFIX,但是仍然不能对使用供应商IE导出的数据做任何有用的事情。对于审查员,我们非常努力地学习和支持所有的供应商IEs。如果我们目前不支持您感兴趣的IEs,正如杰克所指出的,我们可以非常快地添加支持。

我不知道您在寻找什么,但审查器已经支持IPFIX供应商IEs来自Barracuda,Cisco,Citrix,,SonicWall,VMware等。如果您感兴趣的IPFIX IEs不在该列表中,我将很高兴看到它们被添加。

将对供应商IEs的支持添加到检查程序(或任何收藏品)所需的基本信息是:

elementName(vendorPEN/elementId){datatypesemantics}

上面提到的IANA页面有列出当前为IPFIX定义的语义、单元和类型的表。

下面是一个Plixer的示例,其中填充了值:

Event_id(13745/106号){标识符}

IE描述的格式并不重要,但我喜欢来自RFC7013的上述格式。它易于阅读和可解析,这使得导入新的IEs琐碎。

其他有用的信息包括

  • 什么范围的值是有效的
  • 任何标志位或枚举值的含义。
  • 单位(如八位数、包等)
  • 详细描述

一旦定义了新的IEs,检查器将允许您以任何您喜欢的方式查看这些IEs中的数据。您可以使用报表设计器(http://www.plixer.com/blog/advanced-netflow-reporting-2/custom-netflow-reporting/)构建自定义报表,也可以使用FlowView (http://www.plixer.com/blog/netflow-reporting-2/flowview-netflow/)查看每个单独的流。

您可以在http://www.plixer.com/Scrutinizer-Netflow-Sflow/scrutinizer.html下载一份副本

希望这能帮上忙。

票数 0
EN

Server Fault用户

发布于 2017-04-23 21:32:21

对于来自Google的任何人来说,我学到了以下内容(关于开源工具)。我已经完成了第二代接收IPFIX数据的工作,我曾经使用一个工具(从libipfix中分叉)接收IPFIX,并以JSON的形式将其作为JSON发送到ELK中。这有点过时了,我现在不推荐它了(特别是NetScalar 11打破了它的一些预存储模板)。

我建议使用LogStash (5.3或更高版本)来接收IPFIX数据;特别是如果您打算将其摄入ELK中。这是作为一个编解码器完成的(输入将是'udp')

https://www.elastic.co/guide/en/logstash/current/plugins-codecs-netflow.html

下面是一个示例输入

代码语言:javascript
复制
input {
  udp {
    host => "0.0.0.0"
    port => 4739
    codec => netflow {
      versions => [10]
      target => ipfix
    }
    type => ipfix
  }
}

为了让您了解从中得到的输出,下面是TCP连接(LDAPS)和HTTPS (SSL终止于NetScaler)请求的几条消息(这里使用“stdout”输出和“rubydebug”编解码器显示)。

代码语言:javascript
复制
{
         "ipfix" => {
                "destinationTransportPort" => 39912,
                     "flowEndMicroseconds" => "2017-04-11T02:53:09.000Z",
                       "sourceIPv4Address" => "10.x.x.x",
                     "netscalerUnknown329" => 0,
                         "egressInterface" => 0,
                         "octetDeltaCount" => 6600,
                   "netscalerAppNameAppId" => 165707776,
                     "sourceTransportPort" => 636,
                                  "flowId" => 14049270,
                  "destinationIPv4Address" => "10.y.y.y",
                      "observationPointId" => 472006666,
                   "netscalerConnectionId" => 14049269,
                          "tcpControlBits" => 25,
                   "flowStartMicroseconds" => "2017-04-11T02:53:09.000Z",
                        "ingressInterface" => 2147483651,
                                 "version" => 10,
                        "packetDeltaCount" => 16,
                  "netscalerRoundTripTime" => 0,
              "netscalerConnectionChainID" => "00000000000000000000000000000000",
                               "ipVersion" => 4,
                      "protocolIdentifier" => 6,
                     "netscalerUnknown331" => 0,
                     "netscalerUnknown332" => 0,
                      "exportingProcessId" => 0,
                      "netscalerFlowFlags" => 1090527232,
                  "netscalerTransactionId" => 342306495,
        "netscalerConnectionChainHopCount" => 0
    },
    "@timestamp" => 2017-04-11T02:53:09.000Z,
      "@version" => "1",
          "host" => "172.28.128.3",
          "type" => "ipfix"
}


{
         "ipfix" => {
               "netscalerHttpReqUserAgent" => "",
                "destinationTransportPort" => 443,
                  "netscalerHttpReqCookie" => "",
                     "flowEndMicroseconds" => "2017-04-11T02:52:49.000Z",
                     "netscalerHttpReqUrl" => "/someblah",
                       "sourceIPv4Address" => "10.z.z.z",
                  "netscalerHttpReqMethod" => "POST",
                    "netscalerHttpReqHost" => "some.example.com",
                         "egressInterface" => 2147483651,
                         "octetDeltaCount" => 1165,
                   "netscalerAppNameAppId" => 36274176,
                     "sourceTransportPort" => 59959,
                                  "flowId" => 14043803,
           "netscalerHttpReqAuthorization" => "",
                 "netscalerHttpDomainName" => "",
                    "netscalerAaaUsername" => "",
                "netscalerHttpContentType" => "",
                  "destinationIPv4Address" => "10.w.w.w",
                      "observationPointId" => 472006666,
                     "netscalerHttpReqVia" => "",
                   "netscalerConnectionId" => 14043803,
                          "tcpControlBits" => 24,
                   "flowStartMicroseconds" => "2017-04-11T02:52:49.000Z",
                        "ingressInterface" => 1,
                                 "version" => 10,
                        "packetDeltaCount" => 1,
                     "netscalerUnknown330" => 0,
              "netscalerConnectionChainID" => "928ba0c1da3300000145ec5805800e00",
                               "ipVersion" => 4,
                      "protocolIdentifier" => 6,
                  "netscalerHttpResForwLB" => 0,
                 "netscalerHttpReqReferer" => "",
                      "exportingProcessId" => 0,
               "netscalerAppUnitNameAppId" => 0,
                      "netscalerFlowFlags" => 151134208,
                  "netscalerTransactionId" => 342305773,
                  "netscalerHttpResForwFB" => 0,
        "netscalerConnectionChainHopCount" => 1,
           "netscalerHttpReqXForwardedFor" => ""
    },
    "@timestamp" => 2017-04-11T02:52:51.000Z,
      "@version" => "1",
          "host" => "172.28.128.3",
          "type" => "ipfix"
}

我目前只在开发中使用这个,但它似乎比我以前使用的要好得多。

唯一的问题是你现在想用它做什么,因为它是不可吃的。您可以创建一个工具,将客户端->NS流与NS->后端流以及应用程序请求连接起来(如果您已将其记录在案)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/619990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档